具有未定义类型的Java参数

时间:2012-12-24 01:31:00

标签: java parameters

在python中,您不必指定函数参数的类型。 有没有办法为Java方法参数执行此操作?如果说我不确定会输入什么样的论点。

2 个答案:

答案 0 :(得分:10)

尝试使用对象或泛型:

对象:

public void foo(Object bar)
{

}

泛型:

public <T> void foo(T bar) {

}

答案 1 :(得分:1)

Python,JavaScript和类似的动态类型语言具有具有任意属性的对象,例如您可以编写代码:

someObj.someAttr

如果类型具有这样的属性并且已经设置,它将返回属性值,否则返回null。

java中最接近它的是带有字符串键和对象值的Map,所以试试这个:

public void someMethod(Map<String, Object> map) {
    Object o = map.get("someAttr");
    // do something with o, which may be null
}