java API &枚举&包装类
)
一.java API
java Application Programming Interface即java API就是java应用程序编程接口,它是运行库的集合,预先定义了一些接口和类。API还特指API的说明文档,也称帮助文档。
java API提供了如下常用的包。
java.lang:编写java程序时最广泛使用的包,自动导入到所有的程序中,包含了java程序的基础类和接口。
java.util:包含了系统辅助类,特别是Collection,List和Map等集合类
java.io:包含了与输入/输出有关的类
java.net:包含了与网络有关的类
java.sql:包含了与数据库相关的类
二.枚举
枚举是由一组固定的常量组成的类型,使用关键字enum定义。
可以认为是类的变种
里面的直接写的值都是该类的公共静态常量
可以和普通类一样定义属性和方法
valueOf方法常用来将该类的枚举类型与字符串类型比较
public enum key {
L1, L2, L3
}
class Testkey {
public static void main(String[] args) {
Map m=new HashMap();
m.put(key.L1,"大数据架构师");
m.put(key.L2,"大数据工程师");
m.put(key.L3,"大数据分析师");
Set entry=m.entrySet();
for (Object o : entry) {
System.out.println(o);
}
System.out.println("L1:"+m.get(key.L1));
}
}
三.包装类
包装类:对应每个基本数据类型,都有一个包装类型与之对应
使用范围:只有在基本数据类型需要用对象时才使用或者泛型使用
目的:可以把基本数据类型转成对象
也可以把字符串转成相应的基本数据类型
泛型是不可以放基本数据类型
装箱和拆箱:把基本数据类型赋值给包装类叫装箱,反之叫拆箱
以Integer为例:几种赋值方法
new Integer(整形)
new Integer(字符串)
//静态的重载的valueOf()方法,可以接受基本数据类型数据和字符串作为参数并返回包装类的对象
Integer.valueof(整型/字符串)
Integer.parseInt(字符串)
byte:Byte
short:Short
int:Integer
long:Long
float:Float
double:Double
char:Character
boolean:Boolean
要创建一个Integer类型的包装类对象:
Integer a=new Integer(21)
或
Integer a=new Integer(“21”);
然而使用构造方法创建Character类型的包装类对象只有一种:Character charValue=new Charater(‘x’);
同样的Charater类的valueOf方法也只有一个版本的定义即valueOf(char c),它返回一个表示指定char值的Character对象
包装类转换成基本数据类型
Integer integerld=new Integer(25);
int a=integerld.intValue();
Boolean bl=Boolean.valueOf(true);
boolean bool=bl.booleanValue();
当然随着java发展,也有了自动类型转换
Integer intObject=5;//基本数据类型转换成包装类
int intValue=inObject;//包装类转换成基本数据类型
下面我们用代码实现下
public class TestInteger {
public static void main(String[] args) {
// Integer num=new Integer(123);
// Integer a=1;//自动装箱
// //用字符串的构造方法,必须是数字,否则会抛异常
// int b=new Integer("123");//自动拆箱
Integer a=150;//数值超过127,下方比较就会不等了,称为缓冲区0~127
Integer b=150;
System.out.println(a==b);
Integer c=new Integer(123);//new优先级最高,会重新分配空间
System.out.println(a==c); //无论上方怎么变,该比较都不等
Integer d=Integer.valueOf(123);
System.out.println(d);
System.out.println(c==d);
String str="123";
int num=new Integer(str);
Character ch=new Character('a');//Character没有String类型的构造方法
Character ch1='a';
System.out.println(ch==ch1);
Boolean flag=new Boolean("123");//内容除去true,其他任何输出来的都是false;
System.out.println(flag);
Double dou=new Double(123.1);
System.out.println(dou.intValue());
Float f=123.1f;
Integer i=Integer.parseInt("123");
}
}