【问题标题】:How to know that after added variable type in java? [duplicate]在java中添加变量类型后如何知道? [复制]
【发布时间】:2017-11-28 22:48:37
【问题描述】:

当我们使用python shell时,如果我们想知道添加变量的数据类型的数据类型,可以使用以下语句。

>>> y=5
>>> x=3.56
>>> type(x+y)
<class 'float'>

在这里,我的问题是我如何在 Java 中做到这一点?我不是在问下面给出的陈述。

String str = "test";
String type = str.getClass().getName(); 

它只给我们已经声明的数据类型。但我问的是添加变量的数据类型的数据类型。

【问题讨论】:

    标签: java python


    【解决方案1】:

    Java 是静态类型语言,Python 是动态类型语言。
    这意味着在 Java 中,所有变量名(连同它们的类型)都必须显式声明。尝试将错误类型的对象分配给变量名会触发类型异常。这就是说 Java 是一种静态类型语言的意思。

    在 Python 中,你从不声明任何东西。赋值语句将名称绑定到对象,对象可以是任何类型。如果一个名称被分配给一个类型的对象,它可能在以后被分配给一个不同类型的对象。这就是说 Python 是一种动态类型语言的意思。

    【讨论】:

      【解决方案2】:

      也许是这样的?

      ((Object)(2.4 + 2)).getClass().getName();
      

      但在 Java 中,您已经严格指定了操作类型。

      5.6.2 二进制数字提升

      当一个运算符将二进制数字提升应用于一对 操作数,每个操作数必须表示一个数值类型的值, 以下规则依次适用,使用扩大转换(§5.1.2)到 根据需要转换操作数:

      如果任一操作数是 double 类型,则另一个将转换为 double。

      否则,如果任一操作数为浮点类型,则转换另一个 浮动。

      否则,如果任一操作数是 long 类型,则转换另一个 长。

      否则,两个操作数都转换为 int 类型。

      【讨论】:

      • 谢谢,您给出了完美的答案
      • 标记为答案 :)
      猜你喜欢
      • 2011-02-10
      • 1970-01-01
      • 1970-01-01
      • 2013-01-02
      • 2011-02-13
      • 2018-02-19
      • 2012-02-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多