nom*_*nom 4 java methods class
public class Class{
public void method(class a, class b){
//some stuff
}
}
Run Code Online (Sandbox Code Playgroud)
我想要的是,a并且b可以是任何类的实例.这在java中是否合法?有没有办法做到这一点?
谢谢.
使用对象.Java中的任何类都是Object的(直接或间接)子类.
public class MyClass {
public void method(Object a, Object b){
//some stuff
}
}
Run Code Online (Sandbox Code Playgroud)
哦,不要使用类名"Class".它已经在Java中使用了.
您的给定代码不合法,因为classjava中的关键字请参阅JLS 3.9.关键词
USe可以使用JLS 4.3.2中的Object类.类对象
Object类是所有其他类的超类(第8.1.4节).
使用以下:
public class Class{
public void method(Object a, Object b){
//some stuff
}
}
Run Code Online (Sandbox Code Playgroud)
考虑使用泛型:
public class Class{
public <T1, T2> void method(T1 a, T2 b){
//some stuff
}
}
Run Code Online (Sandbox Code Playgroud)
如果您需要返回类型与参数类型相关的内容,您可以这样做:
public class Class{
public <T1, T2> Map<T1, T2> toMap(T1 key, T2 val){
Map<T1, T2> out = new HashMap<>();
out.put(key, value);
return out;
}
}
Run Code Online (Sandbox Code Playgroud)