实用类(一)
枚举
枚举的定义:枚举指由一组固定的常量组成的类型,可以认为是类的变种.
public enum Genders{
Male,Female
}
优点:类型安全;易于输入;代码清晰
特点:
里面的直接写的值都是该类的公共静态常量,可以用类型.值得方式调用
可以和普通类一样定义普通类和方法
练习:输出学习阶段目标
为大数据岗位课程三个学习阶段定义枚举:L1、L2、L3,分别表示第一、二、三阶段
编程输出每个单元的学习目标
L1:大数据开发工程师
L2:大数据挖掘工程师
L3:大数据架构师
public enum Test1 {
L1,L2,L3;
}
class Test{
public static void main(String[] args) {
HashMap map=new HashMap();
map.put(Test1.L1,"大数据开发工程师");
map.put(Test1.L2,"大数据挖掘工程师");
map.put(Test1.L3,"大数据架构师");
Set key=map.keySet();
for (Object o : key) {
System.out.println(o+":"+map.get(o));
}
}
}
Java API
包装类
对应每个基本数据类型,都有一个包装类型与之对应
如:
byte:Byte
short:Short
int:Integer
long:Long
float:Float
double:Double
char:Character
boolean:Boolean
包装的目的:
1、可以把基本数据类型转成对象
2、也可以把字符串转成相应的基本数据类型
包装类的作用:
1、提供了一系列实用的方法
2、集合不允许存放基本数据类型数据,存放数字时,要用包装类型
构造方法:所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例
1、public Type(type value)
如:Integer i=new Integer(1);
2、除Character类外,其他包装类可将一个字符串作为参数构造它们的实例
3、public Type(String value)
如:Integer i=new Integer("123");
注意事项:
1、Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该Boolean对象表示true,否则表示false
2、当Number包装类构造方法参数为String 类型时,字符串不能为null,且该字符串必须可解析为相应的基本数据类型的数据,否则编译不通过,运行时会抛出NumberFormatException异常
常用方法:
1、XXXValue():包装类转换成基本类型
如:
byteValue()、intValue()
longValue()、shortValue()
doubleValue()、floatValue()
charValue()、booleanValue()
2、toString():以字符串形式返回包装对象表示的基本类型数据(基本类型->字符串)
String sex=Character.toString('男');
String id=Integer.toString(25);
3、parseXXX():把字符串转换为相应的基本数据类型数据(Character除外)(字符串->基本类型)
int num=Integer.parseInt("36");
boolean bool=Boolean.parseBoolean("false");
4、valueOf()
所有包装类都有如下方法(基本类型->包装类)
public static Type valueOf(type value)
如:` Integer intValue = Integer.valueOf(21);`
除Character类外,其他包装类都有如下方法(字符串->包装类)
public static Type valueOf(String s)
如:` Integer intValue = Integer.valueOf("21");`
装箱与拆箱
基本类型和包装类的自动转换
装箱:基本类型转换为包装类的对象
拆箱:包装类对象转换为基本类型的值
装箱和拆箱:把基本数据类型赋值给包装类型叫装箱,反之叫拆箱。`
特点:
1、JDK1.5后,允许基本数据类型和包装类型进行混合数学运算
2、包装类并不是用来取代基本数据类型的
在基本数据类型需要用对象表示时使用
Math类
java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数) 和PI(圆周率)
注:Math类是 final 修饰的不允许继承