【发布时间】:2015-09-30 04:46:12
【问题描述】:
如果输入的是整数类型,那么如果我们需要查找并打印出它是 int、long、short 还是 byte 类型,或者它不能适合任何地方,那么我们如何计算出来呢?
【问题讨论】:
-
写下一些代码
-
如果输入是整数,它是整数类型,因此适合 int 或 long。你到底是什么意思?
如果输入的是整数类型,那么如果我们需要查找并打印出它是 int、long、short 还是 byte 类型,或者它不能适合任何地方,那么我们如何计算出来呢?
【问题讨论】:
如果您将整数存储在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的类型是什么?
Byte、Short、Integer 和 Long 等原始包装类具有静态常量 MIN_VALUE 和 MAX_VALUE。您可以将您的值与那些值进行比较,以确定它是否在给定类型的允许范围内。
【讨论】:
字段可以是原始类型或引用类型。有八种基本类型: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)的名称
【讨论】: