Java:定义这样的角色的原因是什么?
好的,只有2行代码。我了解第一行。第二行的含义是什么以及何时以及为什么我必须使用此行?Java:定义这样的角色的原因是什么?
char c = 'x';
Character C = new Character(c);
请回答所有的问题。(什么,何时,为何)
char
是基本类型。 Character
是包装上,以基本类型,因为你可以在Java documentation
Character类看到在 对象包装基本类型char的值。 Character类型的对象包含一个字段,其类型为 是char。
此外,本课程还提供了几种确定字符类别(小写字母,数字等)的方法以及用于将字符从大写字母转换为小写字母,反之亦然的几种方法。
它在反射时也很有用,因为你不能将Object类型转换为原始类型。 – 2012-03-08 19:30:51
第一行要创建一个原始char
其中作为第二个创建Character
对象。你不必使用其中一个。这取决于你在用你的代码做什么。一般来说,java会根据需要解开原始图元。
Character
是原始类型char
的包装。它允许您以更加面向对象的方式使用原始的char
。
这就是所谓的盒装基元,例如,当你想将基元放入Collection
时,它们很有用。由于集合必须保存对象,因此您不能仅声明Collection<char>
,因此您需要使用Collection<Character>
。
Java为每种基本类型(int,char,long,float,byte,short,boolean和double)提供一个类。理想是让这个Class而不是基本类型在需要Object
的地方运行。
Object a = new Integer(1);
Object b = new Character(c);
看到ArrayList
,例如:
你不能做:
ArrayList<boolean> list = new ArrayList<boolean>;
但你可以这么做:
ArrayList<Boolean> list = new ArrayList<Boolean>;
list.add(new Boolean(true));
这是主类型字符的包装类。因为这是一个对象,所以可以像使用其他对象一样使用它,例如某些集合使用对象,或者一个字符也可以为null,而char不能。
请注意,在使用基元和包装/对象之间存在。 http://*.com/questions/239560/when-should-i-use-primitives-instead-of-wrapping-objects – 2012-03-08 18:53:24