-3

Java ArrayList を Object[][] に変換する最も簡単な方法は何ですか?
例えば:

List<MyClass> myList = new ArrayList<MyClass>();
myList.add(myObj1);
myList.add(myObj2);

Object[][] objArray = myList.... How do I convert?

これを実行しようとしている理由は、DBUtils の QueryRunner.batch(String sql, Object[][] params) メソッドを使用するためです。

編集: 詳細については、こちらを参照してください: DBUtils QueryRunner.batch()

EDIT2:
もう少し情報を提供しようとします。

public class MyObj
{
    int myInt;
    String myString;
}

MyObj obj1 = new MyObj(1, "test1");
MyObj obj2 = new MyObj(2, "test2");

List<MyObj> myList = new ArrayList<MyObj>();
myList.add(obj1);
myList.add(obj2);

Object[] onedArray = myList.toArray();  // Now I have a 1d array of my list of objects.
Object[] objArray = myList.get(0); // How do I convert each object instance into an array of Objects?

// Intended result would be something like this:
new Object[][] { { 1, "test1" }, { 2, "test2" } };

EDIT3: 考えられる解決策の 1 つは次のとおりです。 toObjectArray() メソッドを MyObj クラスに追加できます。確かにもっと良い方法があるはずですか?

    public Object[] toObjectArray()
    {
        Object[] result = new Object[2];
        result[0] = this.myInt;
        result[1] = this.myString;
        return result;
    }

ありがとう。

4

1 に答える 1

1

Arraylist は、内部で 1 次元配列を使用するため、1 次元コレクションです。1 次元配列を 2 次元配列に変換することはできません。

1D から 2D 配列への変換を行う場合は、さらに情報を追加する必要があります。

于 2013-08-10T01:56:25.203 に答える