Java 布尔类?
前几天我注意到我可以调用boolean.class,但不能调用integer.class(或在其他原语上)。布尔运算有什么特别之处 注意:我说的是boolean.class,不是boolean.class(这很有意义)Java 布尔类?,java,Java,前几天我注意到我可以调用boolean.class,但不能调用integer.class(或在其他原语上)。布尔运算有什么特别之处 注意:我说的是boolean.class,不是boolean.class(这很有意义) Duh:我试过integer.class,不是int.class。我不觉得自己很笨吗?\你可以做int.class。它给出的值与整数相同。键入 int.class.isPrimitive(),boolean.class.isPrimitive(),void.class.isPri
Duh:我试过integer.class,不是int.class。我不觉得自己很笨吗?\你可以做
int.class
。它给出的值与整数相同。键入
int.class.isPrimitive()
,boolean.class.isPrimitive()
,void.class.isPrimitive()
等将给出值true
Integer.class.isPrimitive()
,Boolean.class.isPrimitive()
等将给出一个值false
,您也可以执行类似int.class
的操作
System.out.println(int.class);
Java1.1引入了.class关键字,以便以一致的方式获取类类型和基本数据类型的类对象
布尔值并不特别。你可以打电话
int.class
比如说。所有基元类型都具有此文本。来自Sun的:
最后,还有一种特殊的文本,称为类文本,它是由类型名和附加“.class”组成的;例如,String.class。这是指表示类型本身的对象(类类型)
不是integer.class
,而是int.class
。是的,你可以。JRE 6:
public class TestTypeDotClass{
public static void main(String[] args) {
System.out.println(boolean.class.getCanonicalName());
System.out.println(int.class.getCanonicalName());
System.out.println(float.class.getCanonicalName());
System.out.println(Boolean.class.getCanonicalName());
}
}
输出
boolean
int
float
java.lang.Boolean
可能是哑延续,但为什么可以将boolean.class分配给类,尽管哈希代码不同
final Class<Boolean> c = boolean.class;
System.out.println("c := "+c);
System.out.println("boolean.class := "+boolean.class);
System.out.println("Boolean.class := "+Boolean.class);
System.out.println("boolean.class == Boolean.class := "+(boolean.class == Boolean.class));
System.out.println("boolean.class.equals(Boolean.class) := "+boolean.class.equals(Boolean.class));
System.out.println("boolean.class.hashCode := "+boolean.class.hashCode());
System.out.println("Boolean.class.hashCode := "+Boolean.class.hashCode());
final Class c=boolean.Class;
System.out.println(“c:=”+c);
System.out.println(“boolean.class:=”+boolean.class);
System.out.println(“Boolean.class:=”+Boolean.class);
System.out.println(“boolean.class==boolean.class:=”+(boolean.class==boolean.class));
System.out.println(“boolean.class.equals(boolean.class):=”+boolean.class.equals(boolean.class));
System.out.println(“boolean.class.hashCode:=”+boolean.class.hashCode());
System.out.println(“Boolean.class.hashCode:=”+Boolean.class.hashCode());
因为boolean.class
的类型是class
。原语不能用作类型参数,因此没有类型类
。最好不要将问题作为答案提交。这应该是它自己的问题,或者是对其他答案之一的评论。