簡體   English   中英

數組列表 <String> 對象分配

[英]ArrayList<String> Object assignment

我在兩個單獨的包Top和top10中有兩個單獨的對象ArrayList<String> 我在活動中將top10的值指定為Top。 現在如果我從Top中刪除一個元素,它也會從top10中刪除。 我不知道為什么會這樣? 我覺得完全傻眼了。 有什么我不知道的關於Java的東西嗎? 還是android?

這是我的活動代碼:

ArrayList<String> Top = new ArrayList<String>();          

// ServiceCall is the name of the class where top10 is initialized.

Top = ServiceCall.top10;

System.out.println("top WR: "+ServiceCall.top10);

if(Top.get(0).equals("Please Select")) Top.remove(0);   

System.out.println("top WR: "+ServiceCall.top10);

第二個打印出來的語句有一個元素少於前一個元素。

您指向同一個對象。

Top = ServiceCall.top10;

不創建新的Object,而是引用另一個,因此兩個指針中的所有更改都將反映在同一個Object中。

你必須創建一個新的傳遞另一個作為參數:

List<String> Top = new ArrayList<String>(ServiceCall.top10);

您將Top指向top10,而不是創建新列表(您的初始化程序現在實際上未被使用,因為您只是將其重新分配到其他列表。)

你應該做:

ArrayList<String> Top = new ArrayList<String>(ServiceCall.top10);    

這將創建一個淺表副本。

轉換 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.

相關問題 數組列表 <Object> 到ArrayList <String> 比較對象ArrayList和String ArrayList 轉換ArrayList <String> 到ArrayList <Object> 賦值運算符String對象 arraylist:將 object 與字符串進行比較 將對象強制轉換為ArrayList <String> 轉換 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> 將String對象添加到ArrayList ArrayList和String [] AND Object [] 轉換ArrayList <String[]> 轉換為String [] []或Object [] []
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM