之前,在http://blog.csdn.net/u011225629/article/details/45271019博客中,发现了valueOf的用法有几分困惑,又不好记忆,非常的混乱,特整理了一下,方便学习!
String.valueOf() 方法的使用
1. 由 基本数据型态转换成 String
String 类别中已经提供了将基本数据型态转换成 String 的 static 方法
也就是 String.valueOf() 这个参数多载的方法
有下列几种
String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串
String.valueOf(char c) : 将 char 变量 c 转换成字符串
String.valueOf(char[] data) : 将 char 数组 data 转换成字符串
String.valueOf(char[] data, int offset, int count) :
将 char 数组 data 中 由 data[offset] 开始取 count 个元素 转换成字符串
String.valueOf(double d) : 将 double 变量 d 转换成字符串
String.valueOf(float f) : 将 float 变量 f 转换成字符串
String.valueOf(int i) : 将 int 变量 i 转换成字符串
String.valueOf(long l) : 将 long 变量 l 转换成字符串
String.valueOf(Object obj) : 将 obj 对象转换成 字符串, 等于 obj.toString()
用法如:
int i = 10;
String str = String.valueOf(i);
这时候 str 就会是 "10"
2. 由 String 转换成 数字的基本数据型态
要将 String 转换成基本数据型态转
大多需要使用基本数据型态的包装类别
比如说 String 转换成 byte
可以使用 Byte.parseByte(String s)
这一类的方法如果无法将 s 分析 则会丢出 NumberFormatException
byte :
Byte.parseByte(String s) : 将 s 转换成 byte
Byte.parseByte(String s, int radix) : 以 radix 为基底 将 s 转换为 byte
比如说 Byte.parseByte("11", 16) 会得到 17
double :
Double.parseDouble(String s) : 将 s 转换成 double
float :
Double.parseFloat(String s) : 将 s 转换成 float
int :
Integer.parseInt(String s) : 将 s 转换成 int
long :
Long.parseLong(String s)
另外加一点其他的重要指示,IndexOf 和subString的用法
substring 方法
str=str.substring(int beginIndex);
截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str;
str=str.substring(int beginIndex,int endIndex);
截取str中从beginIndex开始至endIndex结束时的字符串,并将其赋值给str;
IndexOf 方法
返回 String 对象内第一次出现子字符串的字符位置。
strObj.indexOf(subString[, startIndex])
参数:strObj 必选项。String 对象或文字。
subString 必选项。要在 String 对象中查找的子字符串。
starIndex 可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找。
说明:indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。
如果没有找到子字符串,则返回-1。
如果 startindex 是负数,则 startindex 被当作零。
如果它比最大的字符位置索引还大,则它被当作最大的可能索引。从左向右执行查找。否则,该方法与 lastIndexOf 相同。
<span style="font-size:18px;"><span style="font-size:18px;">public class TestSubString {
public static void main(String[] args) {
String str = "This is my original string!";
str = str.substring(6); //str=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str;
System.out.println(str);
str = str.substring(2,10); //截取str中从beginIndex开始至endIndex结束时的字符串,并将其赋值给str;
System.out.println(str);
String s = "This is my second original string!";
String toDel = "original";
if(s.startsWith(toDel))
s = s.substring(toDel.length());
else
if(s.endsWith(toDel))
s = s.substring(0,s.length() - toDel.length());
else
{
int index = s.indexOf(toDel); //IndexOf 方法 返回 String 对象内第一次出现子字符串的字符位置。
if(index != -1) {
String s1 = s.substring(0,index);
String s2 = s.substring(index+toDel.length());
s = s1 + s2;
}
else
System.out.println("String: "+toDel+" not be found!");
}
System.out.println(s);
String sr = "This is my third string!";
String sx= "is";
int index = sr.indexOf(sx);
System.out.println(index);
int index2 = sr.indexOf(sx,3);
System.out.println(index2);
}
}
</span></span>