1

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

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

我希望能够根据所选复选框的标签将字符串变量设置为某个值。我需要比较最多四个选定的复选框。因此,如果复选框 A 带有标签 A = X,则该设备的序列号 = Y。

我尝试使用 contains() 方法,但它返回 null。我曾尝试使用 get(index).getText(),但这仅适用于单个索引(当我需要评估多达四个时)。

欢迎任何想法和建议。

谢谢!!

铁螳螂7x

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

这是我的代码的一部分,建议如下:

        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));
                }
            }            
        }
4

2 回答 2

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);
于 2012-10-25T22:13:53.440 回答
0

您可以遍历数组列表并与字符串进行比较。

示例:假设您的列表类型为String.

Iterator<String> listIter = yourList.iterator();
while(listIter.hasNext())
{
String nextItemInList = listIter.next();
if(nextItemInList.equals("YourOtherString")
{
//Do your logic.
}
}
于 2012-10-25T21:34:30.163 回答