Java 包装类
2021-04-08 19:25
标签:val ber long xxx 创建 静态 object eva min java是面向对象的语言,基本类型不是new出来的不能使用像object提供的方法,所以有了包装类 Java 包装类 标签:val ber long xxx 创建 静态 object eva min 原文地址:https://www.cnblogs.com/yzg-14/p/13377721.html1. 8大基本类型
package com.qf.demo02;
import javax.swing.text.InternationalFormatter;
public class Test6Integer {
public static void main(String[] args) {
//静态的属性:
System.out.println("获取最大值:"+Integer.MAX_VALUE);
System.out.println("获取最小值:"+Integer.MIN_VALUE);
//byte的最大值和最小值
System.out.println(Byte.MAX_VALUE);
System.out.println(Byte.MIN_VALUE);
//1.创建包装类的对象:
int i = 100;//基本类型
// 创建一个包装类的对象,包装的是int类型的i
Integer i2obj = new Integer(i);//将基本类型int,构建一个Integer对象
Integer i3obj = new Integer("200");//基于String类型,构建一个Integer对象
//2.类的对象有方法
//A:Integer类,重写了Object中的toString()方法。不显示地址,显示数值本身。String类型
System.out.println(i2obj.toString());//"100"
System.out.println(i3obj.toString());//"200"
//B:将对象,转为基本类型:6种类型 Number父类中提供的
byte b1 = i2obj.byteValue();//将i2obj这个对象,转为byte类型的数据
short s1 = i2obj.shortValue();
int i2 =i2obj.intValue();
long l1 = i2obj.longValue();
float f1 = i2obj.floatValue();
double d1 = i2obj.doubleValue();
//C:通过静态的方法parseXXX(),将一个String类型,解析为基本类型的数据
int i3 = Integer.parseInt("123");//猜:长的像数值才可以。"兼容类型"
byte b3 = Byte.parseByte("99");
float f3 = Float.parseFloat("1.23");
System.out.println(i3);
System.out.println(b3);
System.out.println(f3);
//不是每个String都能转成数值,不兼容的不行
// int i4 = Integer.parseInt("memeda");//java.lang.NumberFormatException: For input string: "memeda"
//D:通过valueOf(基本类型/String)-->获取一个包装类的对象类型
Integer i4obj = Integer.valueOf(100);
Integer i5obj = Integer.valueOf("105");//猜:长的像数值才可以。"兼容类型"
System.out.println(i5obj);//?
}
}
package com.qf.demo02;
public class Test7Character {
public static void main(String[] args) {
System.out.println("最大值:"+(int)Character.MAX_VALUE);//65535
System.out.println("最小值:"+(int)Character.MIN_VALUE);//0
//构建一个包装类的对象
Character c1 = new Character(‘a‘);//对象
char c2 = ‘*‘;//基本类型
//判断给定的字符,是否是数字:0-9
System.out.println(Character.isDigit(c2));//boolean
//判断给定的字符,是否是字母[a-zA-Z]
System.out.println(Character.isLetter(c2));//boolean
//判断是否是小写字母
System.out.println(Character.isLowerCase(‘A‘));//false
//判断是否是大写字母
System.out.println(Character.isUpperCase(‘A‘));//true
//将大写字母,转为小写字母
System.out.println(Character.toLowerCase(‘A‘));
//将小写字母,转为大写字母
System.out.println(Character.toUpperCase(‘*‘));
}
}
2. 装箱和拆箱
package com.qf.demo02;
import java.util.Arrays;
public class Test8Auto {
public static void main(String[] args) {
int i = 10;
Integer i2obj = new Integer(i);
Integer i3obj = Integer.valueOf(i);
//jdk1.5之后,自动装箱和拆箱
Integer i4obj = 10;//自动装箱,将基本类型,直接赋值给包装类的对象。
int j = i4obj;//自动拆箱,将包装类的对象的值,直接赋值给一个基本数据类型。
//数组,存储8个基本类型的数据。?
//数据类型统一:
byte b1 = 10;
short s1 = 20;
int i1 = 30;
long l1 = 40L;
float f1 = 1.23f;
double d1 = 2.34;
char c1 = ‘a‘;
boolean bb1 = true;
Object[] arr = new Object[8];//?存储神马的数据
System.out.println(Arrays.toString(arr));
arr[0] = b1;//byte-->Byte(自动装箱)-->Object类(向上转型)
arr[1] = s1;//short-->Short(自动装箱)-->Object类(向上转型)
arr[2] = i1;//int --> Integer --> Object
arr[3] = f1;
arr[4] = d1;
arr[5] = c1;
arr[6] = bb1;
arr[7] = l1;
for(Object obj:arr){
System.out.println(obj.toString());
}
System.out.println("-----------");
int i2 = (int)arr[2];//Object-->Integer -->int
System.out.println(i2);
int i3 = (Integer) arr[2];//Object -->Integer
System.out.println(i3);
}
}
package com.qf.demo02;
public class Test9 {
public static void main(String[] args) {
//Number:Byte,Short,Integer,Long,Float,Double
//缓存数据:256个对象,来包装对应的数值
/*
* [-128,127]
* 包装类的对象:-128,127,包装类中已经创建好了现成的,用就完了
*/
Integer i1 = 100;
Integer i2 = 100;
System.out.println(i1 == i2);//地址,true
Integer i3 = 200;
Integer i4 = 200;
System.out.println(i3 == i4);//false
}
}
下一篇:Java 继承