日期:2014-05-18  浏览次数:20659 次

怎么限制一个方法中传入的某个参数只能是int或者是String类型,我考虑的是枚举但是不知道这个枚举怎么写
我有一个方法如下:
public List findBySth(String model,String sth, IntOrStr parameter){
    //do something;
}

这个方法里我要限制parameter参数要么是int要么是String,所以我声明了一个枚举IntOrStr,
public enum IntOrStr {
}

但是这个枚举IntOrStr应该怎么写,希望有人能帮我下,先感谢大家了

------解决方案--------------------
楼主你看咱不用枚举做,怎么做行不?

public List findBySth(String model,String sth, Object parameter){
if (parameter instanceof Integer) {
// 参数为int时,所要做的
System.out.println("int...");
} else if (parameter instanceof String) {
//参数为String时,所要做的
System.out.println("String...");
} else {
//不符合!
System.out.println("请重新输入参数!");
}
return null;
}

------解决方案--------------------
直接用方法的重载就是了写一个支持int的重载一个支持String的。用枚举是没意义的,枚举都是一种单独的类型了,怎么还会限制int还是String呢。用方法重载在编译期就能检测了