2016-09-29 18 views
-4

以下のコードを参照してください。Java - 宣言クラスとクラスオブジェクトの違い(クラスとクラス)

public class c1 
{ 
    //.... 
} 

Class c2 = obj.getClass(); 

Object o1 = new c1(); 
Object o2 = new c2(); // <<----- here 

どうしたのですか?

どのように私はc2のオブジェクトを作成できますか?

編集:

int[] s1 = new int[]{4,5,6}; 
char[] s2 = new char[]{'a'.'b'}; 

Integer[] new = convertPrimitiveArrayToObject(new Object[]{s1}); 
Character[] new = convertPrimitiveArrayToObject(new Object[]{s2}); 


public static <T> T[] convertPrimitiveArrayToObject(Object[] primitive) 
    { 
      Object x = primitive[0]; 
      Class type = x.getClass().getComponentType(); // => int OR char 
      type[] x2 = (type[]) x;   // I need to convert array to (int/char/...) 

     //...... 
    } 
あなたはリフレクションを使用する必要が
+0

あなたは 'obj.getClass()'の後に 'new c2'できることを期待していますか? – ChiefTwoPencils

+0

'c2'はクラスではありません。クラス型のオブジェクトです。 – Batty

+0

パラメータ 'Object [] primitive'では' int [] 'または' char [] '配列を渡すことはできません。たぶんあなたは達成したいものの例を提示するべきです。 – SubOptimal

答えて

0
Object o2 = (C1) c2.newInstance(); 
+0

いいえ、c1はサンプルではありません。 –

1

、これはオブジェクト

に作成あなた Creating New Class Instances

を助ける最初のJavaリフレクション

を読みます

+0

私は申し訳ありません。私はIranian.inイランですこのサイトにアクセスすることはできませんこのサイトの禁止私の国、助けてください –

+0

いいえ、私は新しいインスタンスにする必要はありません、私はオブジェクト内の配列を変換する配列、しかし、私はその配列のクラスを知っていない、私のメソッド(オブジェクト)の内部(int型、char型、boolean型、長いと他のプリミティブ配列として) –

関連する問題