java各种类型的相互转化(转化为int 转化为char 转化为String 转化为Integer)

大同小异主要是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();
	
	}
	
}

猜你喜欢

转载自blog.csdn.net/jinmie0193/article/details/80644888