Java高级特性–枚举(Enum)

枚举就是预先定义一组常量,并作为一个新的类型,就是类似一个常量类。从定义上来看,枚举很想特殊的class,实际上枚举的声明定义就是一个类。先看看枚举类与常量类的区别。
枚举类:

package enumdemo;
public enum Week {
	monday,
	tuesday,
	wedensday,
	thursday,
	friday,
	saturday,
	sunday
}

常量类:

package enumdemo;
 
public class StaticClass {
	public static final int monday=1;
	public static final int tuesday=2;
	public static final int wedensday=3;
	public static final int thursday=4;
	public static final int friday=5;
	public static final int saturday=6;
	public static final int sunday=7;
}

Read more…

Java高级特性–泛型

泛型是java5新增的特性之一,在某种程度上能增加代码的灵活性。它的作用在于对类型进行抽象,废话少说,先看个例子。 在没有泛型之前,如果我们要写一段代码,针对不同的基本数据类型(String,IntegerDouble,Float等),如:

public class StringObject {
		private String str;
		public void setString(String str) {
			this.str=str;
		}
		public String getString() {
			return str;
		}
	}

如果还有其他的基本数字类型,需要些写同样的类。当然,还有一种方法,就是将所有的基本类型抽象成Object,如下:

package generics;
	public class ObjectTest {
		private Object x;
		public void setX(Object x) {
			this.x=x;
		}
		public Object getX() {
			return x;
		}
	}
package generics;
	public class ObjectTestDemo {
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ObjectTest strFoo=new ObjectTest();
		strFoo.setX("strFoo");
 
		ObjectTest intFoo=new ObjectTest();
		intFoo.setX(new Integer(11));
 
		ObjectTest douFoo=new ObjectTest();
		douFoo.setX(new Double(1.33));
 
		String str=(String)strFoo.getX();
		System.out.println(str);
		Integer in = (Integer)intFoo.getX();
		System.out.println(in);
		Double dou = (Double)douFoo.getX();
		System.out.println(dou);
		}
 
	}

Read more…

Go back to top