JAVA中整型和字符串以及数组和字符串互相转化
在做题的过程中经常会遇见,今天系统整理一下。
整型和字符串之间的转化
a.整型转化成字符串
- 使用String.valueOf()方法。
int i;
String s=String.valueOf(i);
值得注意的是,valueOf(Type parameter):的参数不仅仅只包含整型,该方法返回类型参数的字符串表示形式。
- 使用Integer.toString();方法
int i;
String s = Integer.toString(i);
值得注意的是,toString(int i, int radix)返回以radix为基数的i的字符串形式。
- 通过自动转化实现
int i;
String s = “” + i;
b.字符串转化成整型
-
使用 Integer.parseInt([String])方法。
同样 Integer.parseInt([String],[int radix])可以返回以radix为基数的字符串的十进制整型值。 -
将String类型转化成Integer类型,再转化成int类型
String s;
Integer i=Integer.valueOf(s,radix);
int res=i.intValue() ;
Integer.valueOf()返回Integer对象。
字符串与字符串数组之间的转化
a.将字符串数组转化成字符串
1.使用StringBuffer 或者 StringBuilder 的append()方法
String[] str ={"0","1","2"};
StringBuffer stingBuffer = new StringBuffer();
StringBuilder stringBuild+r=new StringBuilder();
for(int i = 0;i<str.length;i++){
stringBuilder.append(str[i]);
}
for(int i = 0;i<str.length;i++){
stringBuffer.append(str[i]);
}
String s1 = stringBuffer.toString();
String s2 = stringBuilder.toString();
2.直接使用String的“+”操作
String s;
String[] str ={"0","1","2"};
for(int i = 0;i<str.length;i++){
s+=str[i];
}
关于两种方法的效率比拼可以参考StringBuilder.append()与String的"+"的效率PK
b.将字符串转化成字符串数组
这个就需要分情况。
1.字符串中有固定分隔符的(这里以“,”为例),可以使用 string.split()方法。
String str= "a,b,c";
String [] stringstr= string.split(",");
//注意分隔符需要转译的 比如“.”和“|”需要转译成“\.”和“\|”
2.字符串中没有固定分隔符,使用substring() 方法
String str = new String("ilovecs");
String[] res=new String[3];
res[1]=str.substring(0, 1);
res[2]=str.substring(1, 5);
res[3]=str.substring(0, 1);
需要注意的是,substring(begin,end)方法返回的字符串中包含begin位置的字符,不好end位置的字符,见首不见尾。
字符串与字符数组之间的转化
a.将字符串转化成字符数组
其实目的就是得到字符串中特定位置的字符。
String str="abcde";
char[] chr=str.toCharArray();
或者使用String.charAt(int index)方法获得index位置的字符。
a.将字符数组转化成字符串
String st=String.copyValueOf(char arr[])
或者String st=new String(char arr[])
参考文献:
[1]https://www.runoob.com/java/java-string-substring.html+04564+08489*+7*//+2+
[2]https://www.cnblogs.com/atomicbomb/p/9800251.html
[3]https://blog.csdn.net/qq_37701443/article/details/81612082