Java不同数据类型之间的转换
数据类型
**基本数据类型:**byte、short、int、long、float、double、char、boolean
int长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)
float长度数据类型有:单精度(32bits float)、双精度(64bits double)
boolean类型变量的取值有:ture、false
char数据类型有:unicode字符,16bits
对应的类类型:Integer、Float、Boolean、Character、Double、Short、Byte、Long
引用数据类型: 数组、类、接口。
级别从低到高为:byte,char,short(这三个平级)–>int–>float–>long–>double
自动类型转换:从低级别到高级别,系统自动转的;
强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;
如何将字串 String 转换成整数 int?
A. 有两个方法:
1). int i = Integer.parseInt([String]); 或
i = Integer.parseInt([String],[int radix]);
2). int i = Integer.valueOf(my_str).intValue();
注: 字串转成 Double, Float, Long 的方法大同小异.
如何将整数 int 转换成字串 String ?
A. 有叁种方法:
1.) String s = String.valueOf(i);
2.) String s = Integer.toString(i);
3.) String s = “” + i;
注: Double, Float, Long 转成字串的方法大同小异.
1.char[]转为String类型
public class CharToString {
public static void main(String[] args) {
char[] c = {'a', 'b', 'c', 'd'};
String s1 = new String(c);
String s2 = String.valueOf(c);
if(s1.equals("abcd"))
System.out.println("char[] to String , success!");
if(s2.equals("abcd"))
System.out.println("char[] to String , success!");
System.out.println(c.toString());
System.out.println(s1.toString());
System.out.print(s1);
System.out.println();
System.out.print(s2);
}
}
输出结果:
char[] to String , success!
char[] to String , success!
[C@c17164
abcd
abcd
abcd
char[] 数组转换成String可使用new String(char[]); 或 String.valueOf(char[]); ,在使用swing的JPasswordField组件时,getPassword()得到的就时char数组。
还有char数组调用toString()时,是调用的Object类的toString()方法。如下:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
所以想通过toString转为字符串,得到的结果会让人感到意外。
String类把toString类型重载了,所以自然地得到的便是字符串。
2. ArrayList 与 string、string[] 的转换
1、ArrarList 转换为 string[] :
ArrayList list = new ArrayList();
list.Add("aaa");
list.Add("bbb");
//转换成数组
string[] arrString = (string[])list.ToArray(typeof( string)) ;
2、string[] 转换为 ArrarList :
ArrayList list = new ArrayList(new string[] { "aaa", "bbb" });
3、ArrayList 转换为 string :
ArrayList list = new ArrayList();
list.Add("aaa");
list.Add("bbb");
//转换成数组
string str= string.Join(",", (string[])list.ToArray(typeof( string)));
4、string 转换为 ArrayList :
string str="1,2,3,4,5";
ArrayList b = new ArrayList( str.Split(',') ) ;
5、byte[] 转 String
byte[] byte = getByte(); //test
String str = new String(byte)