【问题标题】:How to find the type of an integer which is input in a Java programe [closed]如何查找在 Java 程序中输入的整数的类型 [关闭]
【发布时间】:2015-09-30 04:46:12
【问题描述】:

如果输入的是整数类型,那么如果我们需要查找并打印出它是 int、long、short 还是 byte 类型,或者它不能适合任何地方,那么我们如何计算出来呢?

【问题讨论】:

  • 写下一些代码
  • 如果输入是整数,它是整数类型,因此适合 int 或 long。你到底是什么意思?

标签: java types


【解决方案1】:

如果您将整数存储在long 变量value 中,则以下代码将起作用。

if(value >= Byte.MIN_VALUE && value <= Byte.MAX_VALUE){
    // It's an integer than can fit inside a byte
}else if(value >= Short.MIN_VALUE && value <= Short.MAX_VALUE){
    // It's an integer than can fit inside a short
}else if(value >= Integer.MIN_VALUE && value <= Integer.MAX_VALUE){
    // It's an integer than can fit inside 32-bits
}else{
    // It's an integer than can fit inside 64-bits
}

此代码只是将该值与 Java 中每个数字基元的最大值和最小值进行比较。

【讨论】:

  • 重点是:value的类型是什么?
  • @LuigiCortese 它是 long,正如我在回答中所说...
  • 也许你编辑了答案,我以前看不懂。或者我只是没有注意到
【解决方案2】:

ByteShortIntegerLong 等原始包装类具有静态常量 MIN_VALUEMAX_VALUE。您可以将您的值与那些值进行比较,以确定它是否在给定类型的允许范围内。

【讨论】:

    【解决方案3】:

    字段可以是原始类型或引用类型。有八种基本类型:boolean、byte、short、int、long、char、float 和 double。引用类型是java.lang.Object 的直接或间接子类,包括接口、数组和枚举类型。

    inpu.getType()
    

    输出:

    Element Type              Encoding     
    boolean                      Z     
    byte                         B   
    char                         C   
    class or interface        Lclassname;  
    double                        D  
    float                         F   
    int                           I  
    long                          J   
    short                         S
    

    field.getType().getName()
    

    以字符串形式返回此 Class 对象表示的实体(类、接口、数组类、原始类型或 void)的名称

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-05
      • 2017-01-23
      • 2016-06-30
      • 2019-02-08
      • 1970-01-01
      • 2013-11-16
      相关资源
      最近更新 更多