簡體   English   中英

如何將數組列表的成員與字符串進行比較?

[英]how do I compare members of an array list against a string?

對於這個簡單的問題,我感到非常抱歉(我只使用過Java一點時間)。

我有一個復選框的數組列表,並且它們具有另一個數組列表中的相應標簽。

我希望能夠根據所選復選框的標簽將字符串變量設置為某個值。 我需要比較最多四個選定的復選框。 因此,如果帶有標簽A = X的復選框A,則該設備的序列號=Y。

我嘗試使用contains()方法,但它返回null。 我曾嘗試使用get(index).getText(),但這僅適用於單個索引(當我需要評估多達四個時)。

歡迎任何想法和建議。

謝謝!!

Ironmantis7x

================================================== =================

這是我的代碼的一部分,並帶有以下建議:

        if (PlatformPanel.Android.isSelected() == true)
        {
            Iterator<JCheckBox> listIter = Devices.selectedDevices.iterator();
            while(listIter.hasNext())
            {
                JCheckBox nextItemInList = listIter.next();
                if (nextItemInList.toString().equals("HTC Droid Eris"))         
                //if (Devices.selectedDevices.iterator().toString() .equals("HTC Droid Eris"))
                 {
                    selectedSerial = "A100000DA78159";
                    System.out.println(selectedSerial);
                    System.out.println(Devices.selectedDevices.get(0));
                 }

                if (nextItemInList.toString().equals("Asus Transformer Prime (#1)"))            
                //if (Devices.selectedDevices.iterator().toString() .equals("Asus Transformer Prime (#1)"))
                {
                    selectedSerial = "BKOKAS127271";
                    System.out.println(selectedSerial);
                    System.out.println(Devices.selectedDevices.get(0));
                }
            }            
        }

我將使用靜態映射( static意味着它是一個類字段,而不是實例字段,因此所有實例都可以重用一個映射):

public class MyClass {

    private static Map<String, String> serialNumbers = new HashMap<String, String>() {{
        put("HTC Droid Eris", "A100000DA78159");
        put("Asus Transformer Prime (#1)", "BKOKAS127271");
        // etc
    }};

    // rest of class
}

然后在您的代碼中,它是單線的:

String selectedValue = ...; // get it directly from the drop down
String selectedSerial = serialNumbers.get(selectedValue);

您可以遍歷arraylist並與String比較。

示例:假設您的列表的類型為String

Iterator<String> listIter = yourList.iterator();
while(listIter.hasNext())
{
String nextItemInList = listIter.next();
if(nextItemInList.equals("YourOtherString")
{
//Do your logic.
}
}

暫無
暫無

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM