【问题标题】:How find data type of premtive variable in java [closed]如何在java中找到premtive变量的数据类型[关闭]
【发布时间】:2016-06-30 20:35:22
【问题描述】:

如何在 print 语句中获取 premtive 变量数据类型。 tell 方法告诉变量的数据类型?

【问题讨论】:

标签: java


【解决方案1】:

如果您正在调用类似的方法

System.out.printf("%d", 5);

那么System.out.printf 实际上并没有收到原始参数:可变参数是Object[] 类型,因此在这种情况下5 将自动装箱为Integer

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


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

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"

【讨论】:

  • int a=5;浮动=4.5; System.out.printf("a的数据类型");
  • 感谢您的帮助
【解决方案2】:

您不能对原始类型执行此操作,只能使用对象。

【讨论】:

    【解决方案3】:

    您可以打印 Wrapper Type,而不是原始类型。希望这会有所帮助:

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

    【讨论】:

      【解决方案4】:

      对于任何对象x,您可以打印x.getClass().getName()

      【讨论】:

      • 假设“premtive”的意思是“原始的”,这无助于回答这个问题。
      猜你喜欢
      • 2020-11-10
      • 1970-01-01
      • 2015-07-24
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-27
      • 2014-06-20
      相关资源
      最近更新 更多