メソッドの命名パターンとメソッドの戻り値の型を調べるために、リフレクションを使用して、プリミティブ型をクラスから xml に、および xml からクラス インスタンスにシリアル化および逆シリアル化する独自のライブラリを作成しようとしています。
これまでのところ、すべての基本的なプリミティブ型でこれを行うことができましたが、同じプリミティブの配列をシリアル化することに行き詰まりました。
たとえば、クラス メソッドを呼び出してプリミティブの配列を取得します。
method.invoke(clazz, (Object[])null);
このメソッドはプリミティブ配列int[], double[], float[], char[]
などしか返しませんが、どちらになるかはわかりません。
次のようなジェネリックを使用してみました
T t = (T)method.invoke(clazz, (Object[])null);
T[] t = (T[])method.invoke(clazz, (Object[])null);
しかし、プリミティブ配列からオブジェクトにキャストすることはできません。
Array.newInstance
また、型がわからないと仮定して使用することはできません。
このプリミティブの配列を一般的な方法でオブジェクト配列に変換できる方法はありますか。
一般的な意味で、配列の型を知ったり確認したりする必要はありません。または、すべてのプリミティブ型を循環して、すべてを個別に処理する必要があります。
これを両方の方法で行うことができます 一般的な方法でこれを行う唯一の理由は、冗長なコードを削減することです。
前もって感謝します。