簡體   English   中英

將object [] []轉換為ArrayList <Object[]>

[英]Convert object[][] to ArrayList<Object[]>

我想可能在我的帖子之前已經多次詢問/回答了這個問題。 但我無法得到我想要的東西,所以我再次發布:

我想這樣做:

float[][] fa2 = {{7,2}, {5,4}, {9,6}, {4,7}, {8,1}, {2,3}};
ArrayList<Float[]> AF = new ArrayList<Float[]>();
AF = Arrays.asList(fa2);

但它給出了一個錯誤:

Type mismatch: cannot convert from List<float[]> to ArrayList<Float[]>

我理解錯誤的原因但是在Java中進行轉換的最方便的方法是什么?

這是我能想到的最簡單的方法。 有更好/更方便的東西嗎?

float[][] fa2 = {{7,2}, {5,4}, {9,6}, {4,7}, {8,1}, {2,3}};
ArrayList<Float[]> AF = new ArrayList<Float[]>(fa2.length);
for (float[] fa : fa2) {
    //initialize Float[]
    Float[] Fa = new Float[fa.length];
    //copy element of float[] to Float[]
    int i = 0;
    for (float f : fa) {
        Fa[i++] = Float.valueOf(f);
    }
    //add Float[] element to ArrayList<Float[]>
    AF.add(Fa);
}

當你從float[]轉換為Float[]你必須手動完成:

float[][] fa2 = {{7,2}, {5,4}, {9,6}, {4,7}, {8,1}, {2,3}};
ArrayList<Float[]> AF = new ArrayList<Float[]>();
for(float[] fa: fa2) {
    Float[] temp = new Float[fa.length];
    for (int i = 0; i < temp.length; i++) {
        temp[i] = fa[i];
    }
    AF.add(temp);
}

或者你可以一直使用float[]

List<float[]> AF = Arrays.asList(fa2);

這對我來說:

float[][] fa2 = {{7f,2f}, {5f,4f}, {9f,6f}, {4f,7f}, {8f,1f}, {2f,3f}};
List<float[]> AF = Arrays.asList(fa2); 

編輯:如果由於某種原因你必須混合float []和Float []使用Apache Commons ArrayUtils.toObject

float[][] fa2 = {{7f,2f}, {5f,4f}, {9f,6f}, {4f,7f}, {8f,1f}, {2f,3f}};
List<Float[]> AF = new ArrayList(fa2.length);
for (float[] fa : fa2) {
  AF.add(ArrayUtils.toObject(fa));
}

另一種方法可以做到這一點:

    float[][] fa2 = {{7,2}, {5,4}, {9,6}, {4,7}, {8,1}, {2,3}};

   ArrayList<float[]> AF = new ArrayList<float[]>((Collection<float[]>)Arrays.asList(fa2))

我忘了添加演員......修好了。

你可以這樣做,你不需要轉換:

Float[][] test = {{2f,3f},{3f,4f}};

允許將Java中的本機包裝為更改為對象的概念稱為AutoBoxing,此處正在使用它。 但是,要實現這一點,您要么必須明確說明數字是浮點數還是使用(浮點數)轉換它們。

嘗試

    float[][] fa2 = {{7,2}, {5,4}, {9,6}, {4,7}, {8,1}, {2,3}};
    List<float[]> af = Arrays.asList(fa2);

要么

Float[][] fa2 = {{7f,2f}, {5f,4f}, {9f,6f}, {4f,7f}, {8f,1f}, {2f,3f}};
List<Float[]> af = Arrays.asList(fa2);

轉換 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;轉到對象[] [] 將ArrayList <Object []>轉換為Object [] [] 轉換ArrayList <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