大同小异主要是valueOf parseInt toString等方法
下面有个栗子
包括各类型转化为int 转化为char 转化为String 转化为Integer
package Test;
import static java.lang.System.out;
public class convertTest {
int testInt;
char testChar;
String testString;
Integer testInteger;
public void changeObj(){
/*****************转化为int**********************/
out.println("---------------转化为int----------------------");
//1.char -> int:先转化为String,再到int
testChar = '1';
testInt = Integer.parseInt(testChar+"");//这个只能转String类型的,加上""将char转换为String.
out.println("1.char 1 -> int = "+testInt);
//2.String -> int
//法1
testString = "2";
testInt = Integer.valueOf(testString);
out.println("2.String 2 -> int = "+testInt);
//法2
testInt=Integer.parseInt(testString);
out.println("3.String 2 -> int = "+testInt);
//3.Integer 转换成 int ?
testInteger = new Integer(3);
testInt=testInteger.intValue();
out.println("3.Integer 3 -> int = "+testInteger);
/*****************转化为Integer**********************/
out.println("---------------转化为Integer------------------");
//1. int 转换成 Integer
testInt = 4;
testInteger = new Integer(testInt);
out.println("1.int 4 -> Integer = "+testInteger);
//2.char 转换成 Integer
testChar = '5';
testInteger = Integer.parseInt(testChar+"");//valueOf会转化为ASCII码
out.println("2.char 5 -> Integer = "+testInteger);
//3.String 转换成 Integer
testString = "33";
testInteger = Integer.valueOf(testString);
out.println("3.String 33 -> Integer = "+testInteger);
/*****************转化为String**********************/
out.println("---------------转化为String------------------");
//1.int 转换成字串 String
//法1
testInt = 6;
testString = String.valueOf(testInt);
out.println("1.int 6 -> String = "+testString);
//法2
testString = Integer.toString(testInt);
out.println("2.int 6 -> String = "+testString);
//法3
testString = "" + testInt;
out.println("3.int 6 -> String = "+testString);
//2.Integer 转换成字串 String
testInteger = new Integer(77);
testString = testInteger.toString();
out.println("4.Integer 77 -> String = "+testString);
//3.char 转换成字串 String
testString = String.valueOf('c'); //效率最高的方法
out.println("5.char c -> String = "+testString);
testString = String.valueOf(new char[]{'c','b','a'}); //将一个char数组转换成String
out.println("6.char c -> String = "+testString);
testString = Character.toString('c'); // Character.toString(char)方法实际上直接返回String.valueOf(char)
out.println("7.char c -> String = "+testString);
testString = new String(new char[]{'c'});
out.println("8.char c -> String = "+testString);
testString = "" + 'c';
out.println("9.char c -> String = "+testString);
// 虽然这个方法很简单,但这是效率最低的方法
// Java中的String Object的值实际上是不可变的,是一个final的变量。
// 所以我们每次对String做出任何改变,都是初始化了一个全新的String Object并将原来的变量指向了这个新String。
// 而Java对使用+运算符处理String相加进行了方法重载。
// 字符串直接相加连接实际上调用了如下方法:
// new StringBuilder().append("").append('c').toString();
/******************String转换为char**********************/
out.println("-------------String转换为char----------------");
//1. 使用String.charAt(index)(返回值为char)可以得到String中某一指定位置的char。
testString = "123";
testChar = testString.charAt(1);
out.println("1.String 123 -> char = "+testChar);
//2. 使用String.toCharArray()(返回值为char[])可以得到将包含整个String的char数组。这样我们就能够使用从0开始的位置索引来访
char[] charArray2 = testString.toCharArray();
out.println("2.String 123 -> charArray = " + charArray2[1]);
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
convertTest test = new convertTest();
test.changeObj();
}
}