1.所有的基本类型都有一个与之对应的类,通常这些类称之为包装器。
2.对象包装器类是不可变的,即一旦构造了包装器,就不允许更改包装在其中的值。对象包装器还是final,因此不能定义它们的子类。
3.假设定义一个整型数组列表,而尖括号中的类型参数不允许是基本类型,,即不允许ArrayList<int>,这里可以使用Integer对象包装器类。
Array<Integer> l = new ArrayList<>();4.装箱和拆箱是编译器认可的,而不是虚拟机。编译器在生成类的字节码时,插入必要的方法调用。虚拟机只是执行这些字节码。
5.在参数数量可变的方法中,…是java代码的一部分,它表明这个方法可以接收任意数量的对象。
public static double max(double … values){ }
6.比较两个枚举类型的值时,永远不需要调用equals,而直接使用“==”就可以了。
7.所有的枚举类型都是Enum类的子类。
8.每个枚举类都有一个静态的values的方法,它将返回一个包含全部枚举值得数组。
Color[] values = color.values();9.ordinal方法返回enum声明中枚举常量的位置,位置从0开始计数。
相关的实例代码
import java.util.*;public class test {public static void main(String[] args){Scanner in = new Scanner(System.in);System.out.println("请输入一种颜色:(red,blue,white,green,yello)");String i = in.next().toUpperCase();Color c = Enum.valueOf(Color.class, i);System.out.println("color = " + c);System.out.println("abbreviation = " + c.getAbbreviation());if(c == Color.RED)System.out.println("你选择了和我喜欢的一样的颜色!");Color[] g = Color.values();for(Color e : g){System.out.print(e + " ");}System.out.println();System.out.println(Color.RED.ordinal());}enum Color{RED("红"),GREEN("绿"),BULE("蓝"),WHITE("白"),YELLO("黄");private Color(String abbreviation){this.abbreviation = abbreviation;}public String getAbbreviation(){return abbreviation;}private String abbreviation;}}
结果输出
有事者,事竟成;破釜沉舟,百二秦关终归楚;苦心人,