- package wrapper;
- /*
- * 基本数据类型对象包装类
- * byte Byte
- * short Short
- * int Integer
- * long Long
- * boolean Boolean
- * float Float
- * double Double
- * char Character
- *
- * 基本数据类型对象包装类的最常见作用
- * 就是用于基本数据类型和字符串之间进行转换
- * 1.基本数据类型转换成字符串
- * 基本数据类型+""
- * 基本数据类型.toString(基本数据类型值)
- * 如: Integer.toString(34);//将34转换成"34"
- * String toString():返回一个表示该 Integer 值的 String 对象。
- * static String toString(int i):返回一个表示指定整数的 String 对象。
- * static String toString(int i, int radix):返回用第二个参数指定基数表示的第一个参数的字符串表示形式。
- *
- *
- *
- * 2.字符串转换成基本数据类型
- * xxx a = Xxx.parseXxx(string);
- * int a = Integer.parseInt("123");//数字格式字符串,否则抛出NumberFormatException
- * double b = Double.parseDouble("12.34");
- * boolean b = Boolean.parseBoolean("true");
- * Integer i = new Integer("123");
- * int num = i.intValue();
- *
- * 3.十进制转换成其它进制
- * static String toBinaryString(int i):以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
- * static String toHexString(int i):以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
- * static String toOctalString(int i):以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
- *
- * 4.其它进制转换成十进制
- * static Integer valueOf(String s, int radix):返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
- *
- * 5.对二进制的处理
- * static int reverse(int i):返回通过反转指定 int 值的二进制补码表示形式中位的顺序而获得的值。
- * static int reverseBytes(int i):返回通过反转指定 int 值的二进制补码表示形式中字节的顺序而获得的值。
- * static int rotateLeft(int i, int distance):返回根据指定的位数循环左移指定的 int 值的二进制补码表示形式而得到的值。
- * static int rotateRight(int i, int distance):返回根据指定的位数循环右移指定的 int 值的二进制补码表示形式而得到的值。
- *
- * 6.比较
- * int compareTo(Integer anotherInteger):在数字上比较两个 Integer 对象。
- *
- */
- public class IntegerDemo {
- public static void main(String[] args) {
- //整数类型最大值2^31-1
- int max = Integer.MAX_VALUE;
-
- //将一个字符串转换成整数
- int num = Integer.parseInt("123");
-
- System.out.println(toHexString(60));
- }
-
- public static void wrapper() {
- Integer x = new Integer("123");
- Integer y = new Integer("123");
-
- System.out.println("x==y:"+(x==y)); //false
- System.out.println("x.equals(y):"+x.equals(y)); //true
-
- Integer i = 4; //自动装箱
- i = i + 2; //自动拆箱:变成int类型和2进行加法运算
-
-
- Integer a = 128;
- Integer b = 128;
- System.out.println("a==b:"+(a==b)); //false,不同对象
-
- Integer m = 127;
- Integer n = 127;
- System.out.println("m==n:"+(m==n)); //true,m和n指向同一个对象
- //当数值在byte范围内,如果数值已经存在,则不会开辟新空间
- }
-
- public static String toBinaryString(int num) {
- return trans(num,1,1);
- }
-
- public static String toHexString(int num) {
- return trans(num,15,4);
- }
-
- public static String toOctarString(int num) {
- return trans(num,7,3);
- }
-
- private static String trans(int num, int base, int offset) {
- StringBuilder sb = new StringBuilder();
- char[] chs = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
- while(num!=0) {
- int temp = num & base;
- num = num >>> offset;
- sb.append(chs[temp]);
- }
-
- return sb.reverse().toString();
- }
- }
复制代码
|
|