java 纠结的byte和字符串

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.MD5Hash;
import org.apache.hadoop.io.Text;

public class Test {
	public static void main(String[] args) throws ParseException, NoSuchAlgorithmException {
		
		String a = "a";
		char b = 'a';
		
		byte[] tmp = new byte[]{(byte)'a'};
		
		System.out.println(a.getBytes().length);
		System.out.println(a.getBytes()[0]);
		
		System.out.println("---------------------------");

		//b转换成了int,所以是4个字节
		System.out.println(Bytes.toBytes(b).length);
		System.out.println(Bytes.toBytes(b)[3]);
		
		System.out.println("---------------------------");
		
		System.out.println(Bytes.toBytes("1").length);
		System.out.println(Bytes.toBytes("1")[0]);
		
		System.out.println(Bytes.toBytes(1).length);
		System.out.println(Bytes.toBytes(1)[3]);
		
		System.out.println("---------------------------");
		
		System.out.println(tmp.length);
		System.out.println(tmp[0]);
		
		
	}		
}
 
输出结果如下:
1
97
---------------------------
4
97
---------------------------
1
49
4
1
---------------------------
1
97
 

基本类型:byte 二进制位数:8 
包装类:java.lang.Byte 
最小值:Byte.MIN_VALUE=-128 
最大值:Byte.MAX_VALUE=127 
 
基本类型:short 二进制位数:16 
包装类:java.lang.Short 
最小值:Short.MIN_VALUE=-32768 
最大值:Short.MAX_VALUE=32767 
 
基本类型:int 二进制位数:32 
包装类:java.lang.Integer 
最小值:Integer.MIN_VALUE=-2147483648 
最大值:Integer.MAX_VALUE=2147483647 
 
基本类型:long 二进制位数:64 
包装类:java.lang.Long 
最小值:Long.MIN_VALUE=-9223372036854775808 
最大值:Long.MAX_VALUE=9223372036854775807 

基本类型:float 二进制位数:32 
包装类:java.lang.Float 
最小值:Float.MIN_VALUE=1.4E-45 
最大值:Float.MAX_VALUE=3.4028235E38 

基本类型:double 二进制位数:64 
包装类:java.lang.Double 
最小值:Double.MIN_VALUE=4.9E-324 
最大值:Double.MAX_VALUE=1.7976931348623157E308 

基本类型:char 二进制位数:16 
包装类:java.lang.Character 
最小值:Character.MIN_VALUE=0 
最大值:Character.MAX_VALUE=65535 

你可能感兴趣的:(java 纠结的byte和字符串)