枚举:不能全部例举出。个人认为在JAVA中代表一种可以拥有多个含义的类型,它不算是具体的一种类型,但可以通过定义它的参数表达一种操作行为。在定义枚举参数的名字时,一定要注意枚举类的命名,良好的命名可以充分的表达程序的行为。在JAVA中的使用方式
在某一个类中
public enum MyEnum{
SURE,NOT_SURE,MY_STRING;
}
//使用
TestEnum.MyEnum degress= TestEnum.MyEnum.SURE;
switch(degress){
case SURE:
//操作
break;
}
泛型:参数化类型,可以代表许多的类型,可以代表暂时不确定的类型。
泛型容器类的实现
在类名的后面用尖括号包裹住,一般写T。
public class Holder2<T> {
private T a;
public Holder2(T a) {
this.a = a;
}
public void set(T a) {
this.a = a;
}
public T get(){
return a;
}
}
//使用
class UserModel{}
Holder2<UserModel> holder=new Holder2<UserModel>;
UserModel user=holder.get();
元组
可以实现仅一次调用就能获得多个对象的一种方式
public class TestTuple<A,B>{
public final A a;
public final B b;
public TestTuple(A a, B b) {
this.a = a;
this.b = b;
}
public A getA() {
return a;
}
public B getB() {
return b;
}
}
//扩展元组时,可以通过继承的方式
public class SecondTuple<A,B,C> extends TestTuple<A,B> {
public final C second;
public SecondTuple(A a, B b,C c) {
super(a, b);
this.second=c;
}
}
//使用元组得到对象,创建一个元组类(省略了),里面用一些静态方法专门获得对象。
static TestTuple<String, Integer> test1(String a,UserModel b){
return new TestTuple<String,Integer>("111",111);
}
//取得返回的元组中的对象
public void getTupleContent(){
//拿到元组中的对象
TestTuple tuple=test1("111",new UserModel());
String a= (String) tuple.getA();
UserModel user= (UserModel) tuple.getB();
}
泛型方法
在方法的返回值前加入泛型
例如:
public void f(T t){……..};