问题描述
我们可以像在python中那样将像String
或int
这样的java关键字传递给java方法吗
例如:
package com.mycodes;
public class file1 {
public static void meth1(funct){
if (funct == int) {
System.out.println("It was an int keyword");
}
}
public static void main(String[] args) {
meth1(int);
}
}
请帮助我,我可以这样做。 提前致谢
解决方法
您可以将其作为 Class 类型传递,并检查您的方法中的类型是什么
public static void printType(Class<?> type){
String typeName = type.getSimpleName();
switch (typeName) {
case "int":
System.out.println("This is an int type");
break;
case "String":
System.out.println("This is a String type");
break;
}
}
public static void main(String[] args) {
printType(int.class);
printType(String.class);
}
输出将是:
这是一个int类型
这是一个字符串类型
,在这种情况下可能会遇到问题,因为 Python 是动态类型的,而 Java 是静态类型的。如果您想在 Java 中使用相同的模式,那么您必须将值存储在字符串/对象数组之类的东西中,然后将它们作为对象或字符串返回。 Java 中的最佳实践是对每个变量使用 getter 和 setter 方法。