,,JAVA String.valueOf()方法的用法说明

,,JAVA String.valueOf()方法的用法说明

本文主要介绍JAVA String.valueOf()方法的使用说明,具有很好的参考价值。希望对大家有帮助。来和边肖一起看看吧。

一、由基本数据型态转换成String

String类中已经提供了将基本数据类型转换为字符串的静态方法,这是重载参数String.valueOf()的方法。

有以下几种

(1)String.valueOf(boolean b):将布尔变量b转换为字符串。

(2)String.valueOf(char c):将char变量c转换为字符串

(3)String.valueOf(char[] data):将char数组数据转换为字符串

(4)字符串。valueof (char [] data,int offset,int count):将char数组数据中的count元素从data[offset]转换为字符串。

(5)String.valueOf(double d):将double变量d转换为字符串

(6)String.valueOf(float f):将float变量f转换成字符串。

(7)String.valueOf(int i):将int变量I转换为字符串

(8)String.valueOf(long l):将长型变量l转换为字符串

(9)String.valueOf(Object obj):将obj对象转换为String,等于obj.toString()

用法如下:

int i=10

string str=string . value of(I);

那么str将是‘10’

二、由 String 转换成 数字的基本数据型态

将String转换为基本数据类型,大多需要使用基本数据类型的打包类别。

例如,如果将String转换为byte,可以使用Byte.parseByte(String s s)。如果这种方法不能解析s,就会抛出NumberFormatException

(1)byte: Byte.parseByte(String s):将s转换为byte。

(2) byte.parse byte (string s,int radix):将s转换为基于基数的字节,例如Byte.parseByte('11 ',16)将得到17。

(3)加倍:加倍。解析double(字符串s):将s转换为double

(4)float:double . parse float(string s):将s转换为float

(5)int: Integer.parseInt(String s):将s转换为int

(6)long : Long.parseLong(字符串s)

补充知识:Java常用之String.valueOf、toString、(String)

java中常用的字符串转换方法有三种:title。

简单介绍:

1.toString,需要确保调用这个方法的类、方法、变量不为空,否则会报告空指针。

2、字符串值.这种方法在使用时有一些特殊之处。一般情况下,如果传入null的类型,将返回字符串“null”,而如果直接传入null,则会出错。

3.(字符串)字符串类型的强转换。需要的是类型可以转换成字符串类型。

这里重点介绍valueOf。

例如:

String teString=null

teString=string . value of(teString);

system . out . println(teString);

这样,因为确定传入的类型是String,所以valueOf调用对应的构造函数时不会出现错误,所以返回字符串“null”。

string . value of(null);

但是如果改成上面的写法,会提示一个空指针。

问题:为什么会出现以上两种不同的结果?看一下源代码就知道原因了。

valueOf有以下几种重载:

在代码中编写以下内容:

布尔temp=false

string . value of(temp);

char temp 1=0;

string . value of(temp1);

double值=0;

String.valueOf(值);

Object object=null

string . value of(object);

浮点f=0;

string . value of(f);

int I=0;

string . value of(I);

long l=0;

string . value of(l);

system . out . println('-');

//导致空指针

char[]chars=null;

string . value of(chars);

//导致空指针

String.valueOf(null,0,0);

运行后可以看出,只有后两种方式会导致空指针。在源代码中,valueOf(char[])最终会走向valueOf(char[],int,int)的重载,所以我们直接看对应的源代码,如下:

public String(char[] data,int offset,int charCount) {

if((offset | char count)0 | | char count data . length-offset){

throw failed bounds check(data . length,offset,char count);

}

this . offset=0;

this . value=new char[char count];

this.count=charCount

System.arraycopy(数据,偏移量,值,0,计数);

}

这将导致空指针。

知道了空指针的原因,还有一个疑惑,就是为什么String.valueOf(null)会去valueOf(char[])的重载而不是其他重载?

因为java中重载的匹配是所有重载都能匹配时,优先选择范围小精度高的方法,所以自动重载char[]方法。

通过以上发现,String.valueOf()方法很可能为null。使用时要注意。

上面JAVA String.valueOf()方法的指令就是边肖分享的全部内容。希望能给你一个参考,多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: