foreach使用方法 和 枚举使用方法
来源:互联网 发布:json和js对象的区别 编辑:程序博客网 时间:2024/06/05 20:00
foreach使用方法 和 枚举使用方法foreach:这种循环方法的基本语法如下:for(type variable : 数组或者集合){ ..... ........}为了更方便理解,写一段代码:List<String> names=new ArrayList<String>();names.add("josn");names.add("tom");names.add("jerry");for(String name : names)System.out.println(name);枚举:我们经常会碰到这样一种情景:某些数据必须是一些特定的值,例如:性别只能是“男”或者是“女”;或者参加宴会的只能是“Lucy”或者“Lily”。这个时候,我们就会想到“枚举”。在我们使用类或者接口来实现上面的功能,会比较麻烦。例如:public class Gender{public static final String MALE=1;public static final String FEMALE=2;}然后,在需要用到性别的时候使用这个类中的性别来表示。比如:我有个方法,method(ing sex);要向里边放入性别男------------>method(Gender.MALE);但是请注意,方法中的参数是一个int类型的值。那么这样我们可以完全使用这种方法 method(1)来表示。虽然这个例子在语法上是成立的,但是在逻辑上是不成立的;因为“1”既不表示男性,也不表示“女性”;为了避免这种麻烦,我们只能在method();方法中进行检查,看看接收的参数是否为1或2;显然这种方法虽然可行,但是真的很麻烦。那么,为了解决这种麻烦在JDK5.0中,引入了一种新的类型:“枚举”即"Enum",可以很好地解决这个问题。现在就用枚举来定义上面的性别:public Enum Gemder{ MALE; FEMALE;}然后,定义下面的程序代码来理解一下:public class TextEnum{ public vjoid method(Gender sex){ switch(sex){ case MALE: System.out.println("男"); break; case FEMALE: System.out.println("女"); break; }} public static void main(String[] arg0){ new TextEnum().method(Gander.FEMALE); }}这个时候,我们就没有办法使用method(1);的方法去调用了。但是,我们可以吧枚举类型的每一个值都映射到protected Enum(String name,int ordinal);枚举类的构造方法中。即new Enum<Gender>("MALE",1);new Enum<Gender>("FEMALE",2);这样就OK了;当然,更重要的 是:我们也可以自己定制构造方法,而不是使用默认的构造方法;例如:public enum Gender{ MALE ("男"); FEMALE("女"); String sex; Gender(String s){ sex=s; }}在自定义枚举类型的构造方法时,注意不能定义public的构造器,这点在进行自定义构造器时候一定要注意!
0 0
- foreach使用方法 和 枚举使用方法
- 枚举使用方法
- EcShop的foreach使用方法和三层嵌套
- C# 中 foreach 使用方法
- angular.foreach 循环使用方法
- mybatis中foreach使用方法
- forEach的使用方法
- mybatis中foreach使用方法
- angular.foreach 的使用方法
- enum枚举的类型和使用方法
- C#中foreach基础使用方法
- JSTL中的forEach的使用方法
- <c:forEach>标签的使用方法
- Makefile中foreach函数使用方法
- 枚举类型的使用方法
- Java枚举类型使用方法
- C语言枚举使用方法
- 枚举类型的使用方法
- 最大子段和算法 不同复杂度方法实现
- Java高效编程之二【对所有对象都通用的方法】
- Ubuntu下手机USB 显示??? insufficient permissions for device
- D3D中的世界矩阵,视图矩阵,投影矩阵
- JS字符串拼接的问题
- foreach使用方法 和 枚举使用方法
- Pick Game
- "The MathType DLL cannot be found.Please reinstall MathType"问题解决
- Linux oracle 10g 修改数据库的sid和dbname
- C#秒数转DateTime
- 简单的C程序设计
- 19英寸 6U 机架的U 等行业术语
- ios获取手机的ip
- oracle 的动态采样技术