簡體   English   中英

轉換ArrayList <Object[]> 反對[]

[英]convert ArrayList<Object[]> to Object[]

幾天以來,我一直在尋找這個問題,但似乎找不到合適的答案。 所以我有一個以對象(ArrayList)形式的數組ArrayList,其中填充了SQL字符串的結果集。 我的目標是將僅一行的結果轉換為一維對象數組。

我已經從該網站嘗試了幾次研究結果,但是我所獲得的唯一知識是如何將一維ArrayList轉換為簡單數組。 我希望你們能以某種方式幫助我。 謝謝!

我的桌子看起來像這樣:

sizeid | diameter
   1   |    32
   2   |    40

使用SQL命令“ SELECT直徑從大小”,我將獲得這兩個數字32和40,它們存儲在一個簡單的2x1表中。

|  32  |
|  40  |

現在,我想將它們放在一維數組中。

轉換方法:

private Object[] getSizes() {
   query = new SQLquery();
   query.setSQLstring("SELECT diameter FROM size");
   query.runQuery();

   List<Object> sizeList = query.getRowData();
   Object[] sizes = new Object[sizeList.size()];

   // here I want to convert the List to an array..

   return sizes;
}

生成類SQLquery的ArrayList的方法:

public void outputResult() {
    try {
       if (result != null) {
          ResultSetMetaData meta = result.getMetaData();
          columns = meta.getColumnCount();
          columnNames = new Object[columns];
          for (int i=1; i<=columnNames.length; i++) {
             columnNames[i-1] = meta.getColumnName(i);
          }
          List<Object> rowData = new ArrayList<Object>();
          while (result.next()) {
            Object[] row = new Object[columns];
            for (int j=0; j<= columns; j++) {
               row[j-1] = result.getString(j);
            }
            rowData.add(row);
         }
      }
   } catch (SQLexception e) {
      System.out.println(e);
   }
}

以及類SQLquery的簡單get-method:

public List<Object> getRowData() {
   return rowData;
}

顯然,您的getRowData()方法返回一個List<Object>而它實際上包含數組。 盡管這看起來很奇怪,因為您說它總是返回一個數組列表,但我假設這就是您所擁有的。

您需要一個遍歷這些“對象”的循環,然后將它們向下轉換為Object[]並采用第一個成員。

Object[] sizes = new Object[sizeList.size()];
int i = 0;
for (Object o : sizeList) sizes[i++] = ((Object[]) o)[0];
return sizes;

您可以使用Marko Topolnik建議的方法。

但是,我建議您編寫自己的“ Table”類,該類將解析結果集並將其值放入N * M維數組(或List)中,具體取決於您的查詢。 這樣,您可以存儲元信息,例如N或M尺寸的大小等。

轉換 ArrayList<object> 串起來<div id="text_translate"><p>嗨,我正在嘗試練習 java,我才剛剛開始。 為了練習,我正在嘗試構建一個簡單的撲克游戲,但遇到了卡片數組列表,我正在嘗試將其打印出來,但只有控制台的地址是 output。 自然我嘗試使用.toString 方法並創建我自己的toString 方法來嘗試檢查數組列表是否輸入正確。 Bellow 是我的卡片 class 和 Arraylist{Card}Deck。 貝婁是我的代碼</p><pre>package poker; import java.util.ArrayList; public class Card { private String _suit; private int _cardNum; public Card(int cardNum, String suit) { _suit = suit; _cardNum = cardNum; } public String toString() { return _suit +_cardNum; } static ArrayList&lt;`enter code here`Card&gt; Deck = new ArrayList&lt;Card&gt;() {{ add(new Card(0,"Hearts")); add(new Card(1,"Hearts")); add(new Card(1,"Hearts")); add(new Card(2,"Hearts")); add(new Card(3,"Hearts")); add(new Card(4,"Hearts")); add(new Card(5,"Hearts")); add(new Card(6,"Hearts")); add(new Card(7,"Hearts")); add(new Card(8,"Hearts")); add(new Card(9,"Hearts")); add(new Card(10,"Hearts")); add(new Card(11,"Hearts")); add(new Card(12,"Hearts")); add(new Card(13,"Hearts")); add(new Card(0,"Spades")); add(new Card(1,"Spades")); add(new Card(2,"Spades")); add(new Card(3,"Spades")); add(new Card(4,"Spades")); add(new Card(5,"Spades")); add(new Card(6,"Spades")); add(new Card(7,"Spades")); add(new Card(8,"Spades")); add(new Card(9,"Spades")); add(new Card(10,"Spades")); add(new Card(11,"Spades")); add(new Card(12,"Spades")); add(new Card(13,"Spades")); add(new Card(0,"Clubs")); add(new Card(1,"Clubs")); add(new Card(2,"Clubs")); add(new Card(3,"Clubs")); add(new Card(4,"Clubs")); add(new Card(5,"Clubs")); add(new Card(6,"Clubs")); add(new Card(7,"Clubs")); add(new Card(8,"Clubs")); add(new Card(9,"Clubs")); add(new Card(10,"Clubs")); add(new Card(11,"Clubs")); add(new Card(12,"Clubs")); add(new Card(13,"Clubs")); add(new Card(0,"Diamonds")); add(new Card(1,"Diamonds")); add(new Card(2,"Diamonds")); add(new Card(3,"Diamonds")); add(new Card(4,"Diamonds")); add(new Card(5,"Diamonds")); add(new Card(6,"Diamonds")); add(new Card(7,"Diamonds")); add(new Card(8,"Diamonds")); add(new Card(9,"Diamonds")); add(new Card(10,"Diamonds")); add(new Card(11,"Diamonds")); add(new Card(12,"Diamonds")); add(new Card(13,"Diamonds")); }}; }</pre><p> 和我的 MainApp</p><pre> package poker; import java.util.Random; import static java.lang.System.out; public class MainApp { public static void main(String[] args) { for(int i = 0;i &lt;Card.Deck.size();i++) { out.println(Card.toString()); } } }</pre><p> 在打印行中是我的問題發生的地方。 如何將 arraylist 從 class 類型轉換為用於輸出的字符串? 提前致謝!</p></div></object>

[英]Convert ArrayList<Object> to string

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 轉換ArrayList <ArrayList<Object> &gt;轉到對象[] [] 將object [] []轉換為ArrayList <Object[]> 將ArrayList <Object []>轉換為Object [] [] 轉換數組列表<Object>到 ArrayList<AnotherType> 轉換ArrayList <String> 到ArrayList <Object> 將ArrayList轉換為json對象 將byte []轉換為ArrayList <Object> 轉換 ArrayList<object> 串起來<div id="text_translate"><p>嗨,我正在嘗試練習 java,我才剛剛開始。 為了練習,我正在嘗試構建一個簡單的撲克游戲,但遇到了卡片數組列表,我正在嘗試將其打印出來,但只有控制台的地址是 output。 自然我嘗試使用.toString 方法並創建我自己的toString 方法來嘗試檢查數組列表是否輸入正確。 Bellow 是我的卡片 class 和 Arraylist{Card}Deck。 貝婁是我的代碼</p><pre>package poker; import java.util.ArrayList; public class Card { private String _suit; private int _cardNum; public Card(int cardNum, String suit) { _suit = suit; _cardNum = cardNum; } public String toString() { return _suit +_cardNum; } static ArrayList&lt;`enter code here`Card&gt; Deck = new ArrayList&lt;Card&gt;() {{ add(new Card(0,"Hearts")); add(new Card(1,"Hearts")); add(new Card(1,"Hearts")); add(new Card(2,"Hearts")); add(new Card(3,"Hearts")); add(new Card(4,"Hearts")); add(new Card(5,"Hearts")); add(new Card(6,"Hearts")); add(new Card(7,"Hearts")); add(new Card(8,"Hearts")); add(new Card(9,"Hearts")); add(new Card(10,"Hearts")); add(new Card(11,"Hearts")); add(new Card(12,"Hearts")); add(new Card(13,"Hearts")); add(new Card(0,"Spades")); add(new Card(1,"Spades")); add(new Card(2,"Spades")); add(new Card(3,"Spades")); add(new Card(4,"Spades")); add(new Card(5,"Spades")); add(new Card(6,"Spades")); add(new Card(7,"Spades")); add(new Card(8,"Spades")); add(new Card(9,"Spades")); add(new Card(10,"Spades")); add(new Card(11,"Spades")); add(new Card(12,"Spades")); add(new Card(13,"Spades")); add(new Card(0,"Clubs")); add(new Card(1,"Clubs")); add(new Card(2,"Clubs")); add(new Card(3,"Clubs")); add(new Card(4,"Clubs")); add(new Card(5,"Clubs")); add(new Card(6,"Clubs")); add(new Card(7,"Clubs")); add(new Card(8,"Clubs")); add(new Card(9,"Clubs")); add(new Card(10,"Clubs")); add(new Card(11,"Clubs")); add(new Card(12,"Clubs")); add(new Card(13,"Clubs")); add(new Card(0,"Diamonds")); add(new Card(1,"Diamonds")); add(new Card(2,"Diamonds")); add(new Card(3,"Diamonds")); add(new Card(4,"Diamonds")); add(new Card(5,"Diamonds")); add(new Card(6,"Diamonds")); add(new Card(7,"Diamonds")); add(new Card(8,"Diamonds")); add(new Card(9,"Diamonds")); add(new Card(10,"Diamonds")); add(new Card(11,"Diamonds")); add(new Card(12,"Diamonds")); add(new Card(13,"Diamonds")); }}; }</pre><p> 和我的 MainApp</p><pre> package poker; import java.util.Random; import static java.lang.System.out; public class MainApp { public static void main(String[] args) { for(int i = 0;i &lt;Card.Deck.size();i++) { out.println(Card.toString()); } } }</pre><p> 在打印行中是我的問題發生的地方。 如何將 arraylist 從 class 類型轉換為用於輸出的字符串? 提前致謝!</p></div></object> 將 ArrayList 轉換為對象數組 將 Object arrayList 對象轉換為 Integer
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM