如何在java中查找前置变量的数据类型

如何在java中查找前置变量的数据类型,java,Java,如何在打印状态下获取前置变量数据类型。 告诉方法来告诉变量的数据类型?您不能对基元类型执行此操作,只能对对象执行此操作。您可以打印包装类型,而不能打印基元类型。希望这将有助于: int i=5; System.out.println(((Object)i).getClass().getName()); 对于任何对象x,如果调用以下方法,则可以打印x.getClass().getName() System.out.printf("%d", 5); 然后,System.out.printf实际上

如何在打印状态下获取前置变量数据类型。
告诉方法来告诉变量的数据类型?

您不能对基元类型执行此操作,只能对对象执行此操作。

您可以打印包装类型,而不能打印基元类型。希望这将有助于:

int i=5;
System.out.println(((Object)i).getClass().getName());

对于任何对象
x
,如果调用以下方法,则可以打印
x.getClass().getName()

System.out.printf("%d", 5);
然后,
System.out.printf
实际上没有收到一个基本参数:可变参数的类型是
Object[]
,因此在这种情况下,
5
将自动装箱为
整数

但是,中没有列出将在字符串中打印参数类型的标记


您可以编写专门用于每种基元类型的重载方法:

String typeName(boolean _) { return "boolean"; }
String typeName(byte _) { return "byte"; }
String typeName(short _) { return "short"; }
String typeName(int _) { return "int"; }
String typeName(long _) { return "long"; }
String typeName(float _) { return "float"; }
String typeName(double _) { return "double"; }
String typeName(char _) { return "char"; }
然后,您可以像这样调用:

int a = 5;
float f = 4.5f;
System.out.print(typeName(a));  // outputs "int"
System.out.print(typeName(f));  // outputs "float"

请提供打印语句。重复:假设“prempive”表示“primitive”,这无助于回答问题。int a=5;浮动=4.5;System.out.printf(“a的数据类型”);谢谢你的帮助