如何将数组列表的成员与字符串进行比较?

时间:2012-10-25 21:33:23

标签: java string arraylist

对于这个简单的问题,我感到非常抱歉(我只使用了java一点)。

我有一个复选框的数组列表,它们与另一个数组列表中有相应的标签。

我希望能够将字符串变量设置为某个值,具体取决于所选复选框的标签是什么。我需要比较最多四个选中的复选框。因此,如果复选框A,标签为A = X,则该设备的序列号= 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));
                }
            }            
        }

2 个答案:

答案 0 :(得分:1)

我会使用静态地图(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);

答案 1 :(得分:0)

你可以迭代arraylist并与String比较。

示例:假设您的列表属于String类型。

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