好的,只有2行代碼。我瞭解第一行。第二行的含義是什麼以及何時以及爲什麼我必須使用此行?Java:定義這樣的角色的原因是什麼?
char c = 'x';
Character C = new Character(c);
請回答所有的問題。(什麼,何時,爲何)
好的,只有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://stackoverflow.com/questions/239560/when-should-i-use-primitives-instead-of-wrapping-objects – 2012-03-08 18:53:24