`
Edward_Lee
  • 浏览: 46140 次
社区版块
存档分类
最新评论

Java的字符串操作,强转换,toString以及String.valueOf()

    博客分类:
  • Java
 
阅读更多

我现在知道的Java对象转换为字符串的方法如下(以后还有再补充):

1、java.lang.Object类的toString()方法,对于这个方法,通常需要Object的子类进行Override(重写);

2、java.lang.String类的valueOf()方法;

3、String的强制转换,(String) obj

 

分析上面三中方法:

1、java.lang.Object类的toString()方法

toString方法是java.lang.Object对象的一个public方法。

在java中任何对象都会继承Object对象,所以一般来说任何对象都可以调用toString这个方法。

采用该种方法时,子类会覆盖Object里的toString()方法。

 

首先看看Object类中toString()方法的源码

public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

 Object中的toString()方法,返回的是方法的 类名 + "@" + 16 + 无符号十六进制的对象的hashCode

注意:

使用这个方法时,Object对象不能为null,否则会报空指针异常(java.lang.NullPointerException)

 

java.lang.String类中toString()方法源码如下

public String toString() {
    return this;
}

 这里就是返回String类本身

 

如果自定义的Class想使用toString()方法转换为把对象转换为String类型,建议重写toString()方法

Java中的很多Class,都在类定义时重写了toString()方法

 

 

2、java.lang.String的valueOf(Object obj)方法

方法源码如下

public static String valueOf(Object obj) {
    return (obj == null) ? "null" : obj.toString();
}

查看源码,可以看到,如果Object对象为null时,返回的是一个"null"字符串,而不是null

如果Object对象不为null,则调用对象自己的toString()方法。

 

 

3、使用(String) 强制转换对象

当Object或者Integer等其他类型,使用(String)做强制转换时,通常都会报

java.lang.ClassCastException 异常,一般只有String类型的才使用这种方法进行转换

 

总结:

1、使用toString()时,派生类最好重写java.lang.Object的toString()方法,而且当使用Object的toString()时,对象不能为null;

2、String.valueOf(Object obj) 不需要担心对象为null的问题,但是要注意到,对象为null时,返回的是"null"字符串,而不是null;

3、不建议使用(String)做 类型强制转换。

分享到:
评论

相关推荐

    java中String类型转换方法.pdf

    在 Java 中,将整型变量转换为字符串可以使用以下两种方法: * 使用 `Integer.toString()` 方法:`int i = 42; String str = Integer.toString(i);` * 使用字符串连接操作:`int i = 42; String str = "" + i;` ...

    Java字符串类型转换

    3. **从布尔值到字符串**:`String.valueOf(Boolean b)` 可以将布尔值转换为字符串,其中`true`转换为`"true"`,`false`转换为`"false"`。 #### 二、字符串到其他类型的转换 1. **从字符串到整型**:`Integer....

    Java字符串转换为日期和时间比较大小[归类].pdf

    Java 字符串转换为日期和时间比较大小是 Java 开发中常见的操作。下面我们将详细介绍两种方法来实现 Java 字符串转换为日期和时间比较大小。 方法一:使用 SimpleDateFormat 在 Java 中,SimpleDateFormat 是一个...

    java中string和int型的相互转换.doc

    `String.valueOf()` 方法和 `Integer.toString()` 方法都可以将 int 类型转换为 String 类型,而字符串连接操作符可以将 int 类型转换为 String 类型,并且可以在字符串中插入其他字符。 在实际开发中,我们通常...

    浅谈String.valueOf()方法的使用

    在实际开发中,`String.valueOf()`常用于将变量或表达式的结果转换为字符串,以便进行字符串连接或格式化输出。需要注意的是,对于非基本类型(如对象、数组、函数),`valueOf()`方法的行为可能会根据具体类型而...

    将长整型转换为字符串的Java程序.docx

    `String.valueOf()` 是一个通用方法,可以将不同数据类型转换为字符串。对于 Long 类型,它会调用 Long 的 toString() 方法。例如: ```java String str = String.valueOf(varLong); ``` C. 使用 `Long.toString()`...

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

    以上就是字符串、整型数据和字符型数组之间转换的基本操作。在实际应用中,需要注意各种边界条件和错误处理,例如空字符串、溢出等问题。同时,不同编程语言可能有不同的实现方式,这里以C++和Java为例进行了展示。...

    java对象转换String类型的三种方法共1页.pdf

    在Java编程语言中,将对象转换为String类型是常见的操作,尤其在日志记录、输出显示或者进行字符串拼接时。以下将详细讲解三种主要的转换方法: 1. **toString() 方法** Java中的所有对象都继承自Object类,因此...

    JAVA数据转换类型

    在本文中,我们将详细介绍 Java 中的数据类型转换,包括字符串转换为整数、整数转换为字符串、浮点数转换为字符串等。 字符串转换为整数 在 Java 中,字符串可以通过两种方式转换为整数: 1. 使用 `Integer....

    将双精度数转换为字符串的 Java 程序.docx

    `String.valueOf()` 方法是 Java 内置的方法,它可以将各种数据类型转换为对应的字符串表示。对于 `double` 类型,它会直接将双精度数转换成相应的字符串形式。例如: ```java double number = 123.456; String ...

    java字符串操作大全

    本文将详细介绍Java中字符串的各种操作方法,包括基本的字符串处理功能以及更高级的操作技巧。这些知识点对于Java初学者来说至关重要,并且能够帮助开发者更好地理解和运用Java中的字符串类及其方法。 #### 1. 字符...

    JavaString类型转换[文].pdf

    本文主要讨论的是Java中String类型的转换,包括字符串转换为数值类型、数值转换为字符串、不同进制间的转换以及字节数组与数值类型之间的转换。 1. 字符串转换成数据 Java提供了多种方法将字符串转换为整数、...

    java中int_char_string三种类型的相互转换

    通过 Integer.valueOf() 方法可以将 String 转换成 int。例如: int i = Integer.valueOf(my_str).intValue(); 2. 使用 Integer.parseInt() 方法 使用 Integer.parseInt() 方法也可以将 String 转换成 int。例如...

    Java中区别.toString() ,(String),valueOf()方法

    在Java编程语言中,将对象转换为字符串是一个常见的操作,主要涉及到`toString()`、`(String)`类型转换以及`String.valueOf()`这三个方法。了解它们的区别和使用场景对于编写高质量的Java代码至关重要。 首先,`...

    java 源码 (数字转换2)

    在Java编程语言中,数字转换是一项基础且重要的任务,它涉及到将数字在不同表示形式间进行转换,如从整型(int)、浮点型(float/double)到字符串(String),反之亦然。本篇将深入探讨Java中数字转换的源码实现,特别是...

    Java String Interview Questions.pdf

    可以使用Integer.parseInt()方法将Java字符串转换为整数,使用String.valueOf()方法将整数转换为Java字符串。 23. 如何将Java字符串转换为StringBuilder? 可以使用new StringBuilder(String)方法将Java字符串转换...

    JAVA字符串处理函数列表一览.pdf

    5. `valueOf()`:将其他数据类型转换为字符串,例如`Integer.toString(int value)`或`String.valueOf(double value)`。 6. `toLowerCase()`和`toUpperCase()`:这两个函数分别将字符串转换为全小写和全大写。 7. `...

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

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

    java数据类型转换

    与转换为整型类似,可以使用`Double.valueOf()`或`Double.parseDouble()`方法将字符串转换为双精度浮点数: ```java String str = "25.5"; double d = Double.valueOf(str).doubleValue(); // 使用valueOf // 或者 ...

Global site tag (gtag.js) - Google Analytics