包装类

基本类型包装类型
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

包装类型Integer

Integer类在对象中包装了一个基本类型int的值,Integer类型的对象包含一个int类型的字段。Integer提供了多个方法,能在int类型和String类型之间相互转换,还提供了处理int类型是非常有用的一些常量和方法。

10进制num转为16进制
int num = 100;基本类型,无法直接调用方法
Integer n = Integer.valueOf(num);将基本类型转为其包装类后才能调用包装类的方法
静态方法,建议使用类名调用
Integer.toBinaryString(num);将num转成2进制,输出后的是String类型的数据//1100100
Integer.toHexString(num);将num转成16进制//64
int max = Integer.MAX_VALUE;//int类型的最大值2^31 - 1
int min = Integer.MIN_VALUE;//int类型的最小值-2^31

构造方法

public Integer(int value);
public Integer(String s);
//新建Integer类型时需要int类型和String类型的数值
int num = 100;
Integer n = new Integer(num);
String s = n.toString();
System.out.println(s);//"100"

//传入Stirng类型时必须是int类型的字符串表现,否则就会报错
NumberFormatException:For input string:"str"数字格式化异常

int和String类型的相互转换

int==》String
int num = 1001.String str = num+"";//拼串
2.String s = String.valueOf(num);//最简单明了
3.new Integer(num).toString();//toString

String==int
String s = "100";
1.String=>Integer=>int
Integer ig = new Integer(s);//String转Integer
int i = ig.intValue();//Integer转int
2.使用Integer中的parseInt,将数字的字符串表现转为数字
int i = Integer.parseInt(s);//将字符串转为数字

num = 100;

手动装箱 Integer ig = Integer.valueOf(num);

手动拆箱 int i = ig.intValue();

JDK1.5之后可以自动拆装箱

自动装箱:将基本类型直接包装成它的包装类型

自动拆箱:将包装类型自动转换成它所对应的基本类型

自动装箱
int n = 100;
Integer num = n;//基本类型n自动转为其包转类型后,在赋值给其包装类的num

自动拆箱

Integer i1 = new Integer(10);
Integer i2 = new Integer(20);
System.out.println(i1+i2);//两个包装类型相加时自动拆箱为基本类型之后再相加

Integer的面试题

Integer i1 = new Integer127);
Integer i2 = new Integer127);
System.out.println(i1 == i2);//false
System.out.println(i1.equals(i2));//true  Integer重写了Object类的equals()方法,比较的是两个值是否相等

Integer i3 = new Integer128);
Integer i4 = new Integer128);
System.out.println(i3 == i4);//false
System.out.println(i3.equals(i4));//true

Integer i5 = 128;
Integer i6 = 128;
System.out.println(i5 == i6);//false
System.out.println(i5.equals(i6));//true

Integer i7 = 127;
Integer i8 = 127;
System.out.println(i7 == i8);//true
System.out.println(i7.equals(i8));//true
//Integer i7 = 127  我们采用自动装箱这种方式给它赋值的时候,这个值如果子啊-128--127之间那么它会从内部缓存中取对象,不会创建新对象,两个地址值也就相等;如果超过则会重新new一个对象

其他包装类型

char<==>Character

char ch = 'a';
Character.isDigit(ch);//判断是否为数字
Character.isLetter(ch);//判断是否为子母
Character.isLowerCase(ch);//判断是否为小写子母
Character.isUpperCase(ch);//判断是否为大写子母
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值