`
supportopensource
  • 浏览: 522018 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

字符串与其他数据类型之间的转换

阅读更多
在Java中提供了字符串与其他数据类型之间的转换,尤其是与基本数据类型和包装类间的转换,会被经常用到。

1、将其他数据类型转换为字符串

将其他数据类型转换为字符串存在两种方法:调用类的toString()方法和调用String类的valueOf()方法。

(1)调用类的toString()方法。如果该类为基本数据的包装类,则可以使用带参数的或不带参数的toString()方法。

不带参数的toString()方法为类的非静态方法,因此必须通过类对象进行调用。例如将一个Integer对象转换为字符串:
Integer num = new Integer(300);
System.out.println("result="+(num.toString()+200));

运行结果如下:
result=300200

带参数的toString()方法为类的静态方法,因此可以通过类直接进行调用。方法中的参数应为与包装类对应得基本数据类型变量或字面常数。例如转换一个float类型数据为字符串:
float f=12.345f;
System.out.println("result="+(Float.toString(f)+1.02f));

运行结果如下:
result=12.3451.02
通常情况下,不带参数的toString()方法用来将包装类数据转换为字符串,而带有参数的toString()方法则用来将基本数据类型转换为字符串。
在Java中的java.lang.Object类中提供了一个不带参数的toString()方法,该方法返回当前对象的字符串表示,返回值的形式为类名+“@”+十六进制数表示对象的地址。所有从Object类派生的子类都可以调用toString()返回类对象的字符串表示,并且子类可以覆盖toString()方法来返回其他值。另外在一些情况下,系统会自动调用对象的toString()方法,例如print()方法和字符串“+”运算。例如:
public class ConversionDemo1{
  public static void main(String args[]){
    ConversionDemo1 c=new ConversionDemo1();//创建ConversionDemo1类对象
    String s="输出:"+c;//系统会先调用c对象的toString()方法,然后再进行字符串“+”运算
    System.out.println(c);//系统会先调用c对象的toString()方法,然后输出方法的返回值
    System.out.println(s);
  }
}

运行结果如下:
ConversionDemo1@7d8a992f
输出:ConversionDemo1@7d8a992f

(2)调用String类的valueOf()方法。通过调用String类的valueOf()方法既可以将包装类型数据转换为字符串,也可以将基本数据类型或字面常量转换为字符串,另外,在转换其他引用类型对象时,等价于调用该对象的toString()方法。例如分别转换float型数据为字符串,转换Double类型数据为字符串,转换ConversionDemo2类对象为字符串:
public class ConversionDemo2{
  public static void main(String args[]){
    float f = 45.678f;//定义一个float型变量,并赋值为45.678
    Double d = new Double(12.345);//创建一个Double对象
    ConversionDemo2 c=new ConversionDemo2();//创建一个ConversionDemo2类对象
    System.out.println(String.valueOf(f)+10);//调用String的valueOf(float f)方法转换float型数据为字符串,然后与整数10进行运算
    System.out.println(String.valueOf(d)+10);//调用String的valueOf(Object obj)方法转换Double对象为字符串,然后与整数10进行运算
    System.out.println(String.valueOf(c));//调用String的valueOf(Object obj)方法转换类对象c为字符串,然后输出
  }
}

运算结果如下:
45.67810
12.34510
ConversionDemo2@8dc8569

Java中的基本数据类型都可以通过String中对应的valueOf()方法转换为字符串,然而在String类中并没有提供valueOf(byte b)和valueOf(short s)方法来转换byte和short型数据为字符串,但如下的方法调用是合法的:
byte b='a';
short s=123;
System.out.println(String.valueOf(b));//输出结果:97
System.out.println(String.valueOf(s));//输出结果:123

这是因为byte和short被自动转换为了int型,从而调用的是valueOf(int i)方法。

2、将字符串转换为基本数据类型

(1)通过包装类的parseXxx()方法将一个字符串转换为该包装类对应的基本数据类型,但要求字符串必须为数字形式,例如int num = Integer.parseInt("123");是合法的,而int num = Integer.paseInt("abc");则会抛出“java.lang.NumberFormatException:For input string:”abc””异常。
各包装类所具有的parseXxx()方法如下表所示:



注意:其中,parseBoolean()方法中的字符串参数取值为“True”(大小写均可)时,结果为True;否则结果为False。

(2)通过包装类的对象调用xxxValue()方法。
例如:int i = new Integer("123").intValue();
各包装类所具有的xxxValue()方法如下表2所示:



通过表2可以看出:基本数据类型间除了boolean和char类型外,都可以相互转换,并且可以将包装类对象转换为对应的基本数据类型。


  • 大小: 39.7 KB
  • 大小: 39.2 KB
分享到:
评论

相关推荐

    C#字符串和JSON数据类型相互转换

    在C#中,我们主要依靠`System.Text.Json`或`Newtonsoft.Json`库(也称为Json.NET)来实现字符串与JSON对象之间的转换。本篇文章将详细探讨如何使用这两种方法进行转换。 首先,让我们关注`System.Text.Json`,这是...

    java数据类型的转换简单数据类型之间的转换 (2). 字符串与其它数据类型的转换 (3). 其它实用数据类型转换

    一些初学JAVA的朋友可能会遇到JAVA的数据类型之间转换的苦恼,例如,整数和float,double型之间的转换,整数和String类型之间的转换,以及处理、显示时间方面的问下面笔者就开发中的一些体会介绍给大家。 我们知道,...

    Java 字符串和基本数据类型之间的转换

    综上所述,Java中字符串与基本数据类型之间的转换是通过各种内置方法和类实现的,理解并熟练运用这些方法对于编写高效且健壮的代码至关重要。在实际编程中,应根据具体需求选择合适的方法,并注意可能出现的问题,以...

    字符串与二维码之间的相互转换

    本篇将深入探讨字符串与二维码之间的相互转换,以及如何实现这一过程。 首先,我们要理解字符串的基本概念。在编程语言中,字符串是由字符组成的序列,可以包含字母、数字、特殊符号等。它们常用于存储文本信息,如...

    字符串与字节数组之间的转换

    ### 字符串与字节数组之间的转换 在计算机编程领域,数据的转换是一项非常重要的工作,尤其是在处理网络通信、文件读写等场景时。本文将详细介绍如何在.NET框架下实现字符串与字节数组之间的转换,特别是字符串到16...

    Python基础知识之不同字符串、数据类型之间的转换.docx

    - 使用`str()`函数可以将任何数据类型转换为字符串。 ```python name = '开开' age = 25 print('我叫' + name + '今年,' + str(age) + '岁') # 输出: 我叫开开今年,25岁 ``` 3. **其他类型到整数或浮点数:...

    Java字符串类型转换

    Java提供了丰富的API来支持不同类型的字符串转换,包括但不限于从字符数组、基本数据类型、对象到字符串的转换,以及字符串与其他类型如整型、浮点型等之间的相互转换。下面将详细介绍这些转换方法。 #### 一、字符...

    中软卓越Java模拟面试课堂:6-字符串与基本数据类型的转换.pptx

    这就是字符串与基本数据类型转换的重要性所在。 标题中的“中软卓越Java模拟面试课堂:6-字符串与基本数据类型的转换”主要关注的是Java中如何将字符串转换为整型或浮点型数据。下面我们将详细探讨这个话题。 1. *...

    字符串各种数据类型转换.zip

    还有一些其他的数据类型转换,比如字符串转元组(tuple),可以使用`tuple()`;字符串转集合(set),可以使用`set()`。但这些转换通常需要根据具体情况来处理,因为不是所有的字符串都能直接转换为这些数据结构。 ...

    C语言实现的 json格式字符串与结构体自动相互转化

    标题 "C语言实现的 json格式字符串与结构体自动相互转化" 涉及到的核心知识点是C语言编程、JSON解析和结构体操作。C语言是一种底层编程语言,通常用于系统编程、嵌入式开发等领域,而JSON(JavaScript Object ...

    字符串,整型数据,字符型数组互相转换源码

    在编程领域,字符串、整型数据和字符型数组是三种基本的数据类型,它们在不同的场景下各有用武之地。在实际开发中,我们经常需要在这三者之间进行转换,以便处理不同类型的数据。以下是对这些转换的详细说明: 一、...

    TIA博途中字符串转换相关指令的使用方法(一).docx

    例如,在全局 DB 中创建四个变量,用来保存数据,然后在 OB1 中调用 STRG_VAL 指令,并连接参数,选择字符串的数据类型和浮点数的数据类型,将需要转换的字符串在输出参数 OUT 中作为浮点数输出。 * VAL_STRG 指令:...

    转义符,ASII码对照表,字符字符串区别,数据类型转换

    C学习笔记之基础篇_转义符,ASII码对照表,字符字符串区别,数据类型转换 免费提供

    C语言字符串转换为Python字符串的方法

    C语言字符串转换为Python字符串是指将C语言中的字符串数据转换为Python中的字符串对象,以便在Python环境中使用。下面详细介绍了C语言字符串转换为Python字符串的方法。 使用Py_BuildValue()构建字节对象 在Python...

    C# 中的类型转换之字符串和字符数组之间的转换

    C# 中的类型转换之字符串和字符数组之间的转换 C# 中的类型转换是一个非常重要的概念,它使得我们可以在不同的数据类型之间进行转换,以满足不同场景下的需求。在字符串和字符数组之间的转换是我们经常遇到的问题,...

    VB.NET 字符串与二进制间的转换

    `System.BitConverter`类提供了将基本数据类型转换为字节数组和从字节数组转换回基本类型的方法。例如,`BitConverter.ToString(bytes)`可以将字节数组转换为十六进制字符串,而`BitConverter.ToInt32(bytes, ...

    易语言十六进制与字符串转换

    总结来说,易语言十六进制与字符串转换涉及了基础的数据类型转换、线程编程以及源码学习。理解并掌握这些知识点,对于易语言开发者来说,不仅可以提高编程能力,还能在处理数据转换问题时更加游刃有余。通过分析提供...

    Matlab字符串 字符串数组 数据类型转换.docx

    Matlab 字符串和字符串数组数据类型转换 Matlab 中的字符串是指由一系列字符组成的数组,通常以单引号括起来。创建字符向量可以使用单引号括住字符序列,例如 `chr = 'Hello, world'`。字符向量是 char 类型的 1×n...

    十六进制与字符串转换

    在Linux C环境中,十六进制(Hexadecimal)与字符串(String)之间的转换是常见的编程需求。十六进制是一种逢16进1的进位制,通常用于表示二进制数据,而字符串则是一系列字符的集合。理解这两种类型之间的转换对于...

    解决无法在unicode和非unicode字符串数据类型之间转换的方法详解

    总的来说,解决Unicode和非Unicode字符串数据类型转换问题的关键在于理解字符编码、数据类型以及它们之间的兼容性。根据实际情况选择合适的方法,可以有效避免数据丢失和错误。在实际操作中,应始终进行充分的测试,...

Global site tag (gtag.js) - Google Analytics