いいえ、わずか2行のコードです。私は最初の行を理解しています。 2行目の意味は何ですか?また、いつ、そしてなぜこの行を使用する必要がありますか?Java:このようなキャラクターを定義する理由は何ですか?
char c = 'x';
Character C = new Character(c);
の質問のすべてに答えてください...(何、ときに、なぜ)最初の行が第二のCharacter
オブジェクトを作成するなどのプリミティブchar
を作成
いいえ、わずか2行のコードです。私は最初の行を理解しています。 2行目の意味は何ですか?また、いつ、そしてなぜこの行を使用する必要がありますか?Java:このようなキャラクターを定義する理由は何ですか?
char c = 'x';
Character C = new Character(c);
の質問のすべてに答えてください...(何、ときに、なぜ)最初の行が第二のCharacter
オブジェクトを作成するなどのプリミティブchar
を作成
char
はプリミティブ型です。あなたは オブジェクトにプリミティブ型charの値をラップするJava documentation
Characterクラスで見ることができるよう
Character
は、プリミティブ型のラッパーです。 Character型のオブジェクトには、型が の単一のフィールドが含まれています。さらに、このクラスでは、文字のカテゴリ(小文字、数字など)を決定し、 の文字を大文字から小文字に変換するためのいくつかの方法を提供しています。
Object型をプリミティブ型にキャストすることはできないため、キャストにもリフレクション中に便利です。 –
。あなたはどちらか一方を使う必要はありません。それはあなたのコードで何をしているかによって異なります。一般的に、javaは必要に応じてプリミティブを元に戻します。
Character
は、プリミティブタイプchar
のラッパーです。これにより、よりオブジェクト指向の方法でプリミティブchar
を使用することができます。
これはボックス化されたプリミティブと呼ばれ、プリミティブをCollection
に入れる場合などに便利です。コレクションにはオブジェクトを保持する必要があるため、Collection<char>
を宣言するだけではないため、Collection<Character>
を使用する必要があります。
Javaは、すべてのプリミティブ型(int、char、long、float、byte、short、boolean、double)のクラスを提供します。ideideは、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));
これはプライマリタイプcharのラッパークラスです。これはObjectであるため、他のすべてのObjectと同様に使用できます。たとえば、Collectionの使用オブジェクト、Characterはnullでもかまいませんが、charは使用できません。
プリミティブとラッパー/オブジェクトの使用があることに注意してください。 http://stackoverflow.com/questions/239560/when-should-i-use-primitives-instead-of-wrapping-objects –