码迷,mamicode.com
首页 > 编程语言 > 详细

我的java学习笔记(11)关于装箱、参数可变方法和枚举类型

时间:2015-03-29 16:38:03      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:java   enum   eclipse   string   

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;
	}
}


结果输出


技术分享

我的java学习笔记(11)关于装箱、参数可变方法和枚举类型

标签:java   enum   eclipse   string   

原文地址:http://blog.csdn.net/zhurui_idea/article/details/44727267

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!