一、基本类型包装类
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。
1、常用操作:用于基本数据类型与字符串之间的转换。
2、基本类型和包装类的对应
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
二、Integer类概述
1、Integer 类在对象中包装了一个基本类型 int 的值,
该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,
还提供了处理 int 类型时非常有用的其他一些常量和方法
2、构造方法
[1]public Integer(int value)
[2]public Integer(String s)
三、String和int类型的相互转换
1、int -- String
[1]和""进行拼接
[2]public static String valueOf(int i)
[3]int -- Integer -- String(Integer类的toString方法())
[4]public static String toString(int i)(Integer类的静态方法)
2、String -- int
[1]String -- Integer -- int
[2]public static int parseInt(String s)
四、JDK5的新特性自动装箱和拆箱
JDK5的新特性
[1]自动装箱:把基本类型转换为包装类类型
[2]自动拆箱:把包装类类型转换为基本类型
注意事项
在使用时,Integer x = null;代码就会出现NullPointerException。
建议先判断是否为null,然后再使用
package com.cat.basedatatype;
import java.util.Arrays;
public class IntegerMethod {
/*
* 一、基本类型包装类
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。
1、常用操作:用于基本数据类型与字符串之间的转换。
2、基本类型和包装类的对应
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
二、Integer类概述
1、Integer 类在对象中包装了一个基本类型 int 的值,
该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,
还提供了处理 int 类型时非常有用的其他一些常量和方法
2、构造方法
[1]public Integer(int value)
[2]public Integer(String s)
三、String和int类型的相互转换
1、int -- String
[1]和""进行拼接
[2]public static String valueOf(int i)
[3]int -- Integer -- String(Integer类的toString方法())
[4]public static String toString(int i)(Integer类的静态方法)
2、String -- int
[1]String -- Integer -- int
[2]public static int parseInt(String s)
四、JDK5的新特性自动装箱和拆箱
JDK5的新特性
[1]自动装箱:把基本类型转换为包装类类型
[2]自动拆箱:把包装类类型转换为基本类型
注意事项
在使用时,Integer x = null;代码就会出现NullPointerException。
建议先判断是否为null,然后再使用
* */
public static void main(String[] args) {
integerInit();//获取最大值,最小值,进制转换
integerAString();//String和int类型的相互转换
compare();
int x = 100;
Integer i1 = new Integer(x); //将基本数据类型包装成对象,装箱
int y = i1.intValue(); //将对象转换为基本数据类型,拆箱
//以上为JDK5之前的特性
//JDK5之后新特性
Integer i2 = 100; //自动装箱:把基本类型转换为包装类类型
int z = i2 = 200; //自动拆箱:把包装类类型转换为基本类型
}
private static void compare() {
Integer i1 = new Integer(97);
Integer i2 = new Integer(97);
System.out.println(i1 == i2);
System.out.println(i1.equals(i2));
System.out.println("--------");
Integer i3 = new Integer(197);
Integer i4 = new Integer(197);
System.out.println(i3 == i4);
System.out.println(i3.equals(i4));
System.out.println("--------");
Integer i5 = 127;
Integer i6 = 127;
System.out.println(i5 == i6);
System.out.println(i5.equals(i6));
System.out.println("--------");
Integer i7 = 128;
Integer i8 = 128;
System.out.println(i7 == i8);
System.out.println(i7.equals(i8));
System.out.println("--------");
/*
* -128~127是byte的取值范围,如果在这个取值范围内,自动装箱就不会新创建对象,
而是从常量池中获取,如果超过了byte取值范围就会再去创建新对象
* */
}
//String和int类型的相互转换
private static void integerAString() {
System.out.println("=============String和int类型的相互转换============");
//int -- String
int i = 100;
String s1 = i + "";
String s2 = String.valueOf(i);
Integer i1 = new Integer(i);
String s3 = i1.toString();
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
//String -- int
System.out.println("--------");
}
//获取最大值,最小值,进制转换
private static void integerInit() {
System.out.println("=============进制,最值============");
System.out.println(Integer.toBinaryString(60));
System.out.println(Integer.toOctalString(60));
System.out.println(Integer.toHexString(60));
//最大值、最小值
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
Integer i1 = new Integer(100);
Integer i2 = new Integer("200");
System.out.println(i1);
System.out.println(i2);
}
}