一、枚举
枚举产生的原因
场景:定义属性的同时如果出现不合逻辑的类型,则需要用枚举类型替代。
创建枚举
(1.)枚举的关键字:enum
(2.)枚举实战:
public enum Sex {
Man,Woman
}
public class Student {
private String sex;
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
public class Test {
public static void main(String[] args) {
Student student=new Student();
student.setSex("男");
System.out.println(student.getSex());
student.setSex("女");
System.out.println(student.getSex());
}
}
二、包装
包装类型的定义
每个基本数据类型在Java.lang包都有各自的包装类型,例如int类型的包装类型是Integer,char类型的包装类型是character等等。
包装类型作用
(1.)包装类型提供了一堆方法,例如可以实现基本数据类型和包装类型之间的转换等等功能。
(2.)集合中只能存放包装类型的数据,不能存放基本数据类型的数据
包装类型常用方法:
(1.)包装类型的构造方法实现基本数据类型转换成包装类型
public class Test {
int a=10;
Integer integer= new Integer(a);
byte b=33;
Byte abyte=new Byte(b);
short c=3;
Short aShort=new Short(c);
long d=3;
Long aLong=new Long(d);
float e=4;
Float aFloat=new Float(e);
double f=5;
Double aDouble=new Double(f);
boolean g=true;
Boolean aBoolean=new Boolean(g);
char h='男';
Character character=new Character(h);
}
(2.)字符串类型转换成包装类型
除了character类型以外都可以使用构造器将字符串类型转换为包装类型。
public class AA {
public static void main(String[] args) {
String a="123";
System.out.println(a+4);
System.out.println("*************");
Integer integer=new Integer(a);
System.out.println(integer);
}
}
(3.)利用包装类型的xxvalue()方法实现包装类型转换为基本数据类型
public class Text2 {
public static void main(String[] args) {
Integer a=new Integer(24);
int i=a.intValue();
System.out.println(i);
Double aDouble=new Double(24);
double v=aDouble.doubleValue();
System.out.println(v);
}
}
(4.)基本数据类型转换成字符串类型,利用包装类型中的toString()
public class Text3 {
public static void main(String[] args) {
int a=23;
String b=Integer.toString(a);
System.out.println(b+a);
double c=26;
String e=Double.toString(c);
System.out.println(e+a);
}
}
(5.)将字符串类型转换为基本数据类型,利用包装类型的parseXX()实现将字符串类型转换为基本数据类型int,除Character外。
public class Text4 {
public static void main(String[] args) {
String a="3212";
double v=Double.parseDouble(a);
System.out.println(v);
// Character.compare(a);
}
}
(6.)基本数据类型转换成包装类型(利用valueOf())
public class A {
public static void main(String[] args) {
// int a=23;
// Integer integer= Integer.valueOf(a);
String a="123";
Integer integer=Integer.valueOf(a);
System.out.println(integer);
// Character character=Character.valueOf(a)
}
}
三、装箱和拆箱
装箱:基本类型自动转换为包装类型
拆箱:包装类型自动转换为基本类型