【问题标题】:Finding the type of variable, knowing it's a primitive datatype [duplicate]查找变量的类型,知道它是原始数据类型 [重复]
【发布时间】:2020-07-09 10:42:50
【问题描述】:

我阅读了这篇文章here,它允许我们告诉我们对象需要什么数据类型。 有没有办法用原始数据类型做到这一点?这是否意味着我必须对变量进行自动装箱然后对其应用某种方法?例如:

float d1 = 10;
float d2 = 10.1f;
double d3 = d1 + d2;

有没有办法打印d3 的数据类型?

TIA

【问题讨论】:

  • 你不知道吗? System.out.println("double")?
  • 我可能应该澄清我的问题。我知道这是双标。但我在想,如果 Java 有什么东西可以告诉我它是双重的
  • 为什么会有用?链接问题中显示的getClass 很有用,因为程序员不知道传递给printVariableType 的对象类型。但是在这里你知道 100% d3double... 你可以使用 double.class 获得 doubleClass,但仅此而已。

标签: java


【解决方案1】:

你可以有一个辅助方法来执行拳击,并使用getClass()

public static <T> Class<?> typeOf(final T value) { 
  return value.getClass(); 
}
jshell> double x = 10.0;
x ==> 10.0
jshell> float y = 10.0f;
y ==> 10.0
jshell> typeOf(y)
$4 ==> class java.lang.Float
jshell> typeOf(x)
$5 ==> class java.lang.Double

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多