本文主要介绍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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。