提问者:小点点

为什么它不等于String和String from List<String>


我在String类型中遇到了一个问题:

列表中的字符串-字符串与原始字符串不一样

这是我的样本代码

    Map<String, List<String>> parameters_test=new  HashMap<String, List<String>>();

    parameters_test.put("0",new LinkedList<String>());parameters_test.get("0").add("WM188126M");
    parameters_test.put("1",new LinkedList<String>());parameters_test.get("1").add("BXJ006");
    parameters_test.put("2",new LinkedList<String>());parameters_test.get("2").add("‭1829690014");
    parameters_test.put("3",new LinkedList<String>());parameters_test.get("3").add("16");

然后把地图放到另一个方法上

  if (getParamsMap() != null) {
        for (String item : getParamsMap().keySet()) {
            List<String> valueList = getParamsMap().get(item);
            if (valueList == null || valueList.isEmpty()) {
                continue;
            }
            if (item.equals("0")) {
                woCode = valueList.get(0);
            } else if (item.equals("1")) {
                product = valueList.get(0);
            } else if (item.equals("2")) {
                purchaseOrder =  valueList.get(0);
            } else if (item.equals("3")) {
                labelNumbers = valueList.get(0);
            }
        }
    }

    if(woCode.equals("WM188126M")){
        System.out.println("01 true");
    }else{
        System.out.println("01 fail");
    }
    if(product.equals("BXJ006")){
        System.out.println("02 true");
    }else{
        System.out.println("02 fail");
    }
    if(purchaseOrder.equals("1829690014")){
        System.out.println("03 true");
    }else{
        System.out.println("03 fail");
    }
    if(labelNumbers.equals("16")){
        System.out.println("04 true");
    }else{
        System.out.println("04 fail");
    }

为什么我总是得到这样的结果:01真02真03失败04失败

好久都没事了,最近出现了错误。

但我什么也没改变。

该代码用于Java1.6 64bit-Eclipse

文本文件编码:UTF-8

我已经受审很久了。向任何伸出援手的人致以最良好的问候。


共3个答案

匿名用户

  • Text文件包含一些特殊字符,编码未正确设置为UTF-8。
  • 重新键入行下。

parameters_test. put("2",new LinkedList());
parameters_test.get("2").add("1829690014");

>

  • 请在此处查看代码-https://gist.github.com/ajinkya-mundankar/240d0e84dc37ee7ea1b222ed5e697db1。

    请在此处参考-无法创建包含外语字符的文件。

  • 匿名用户

    "1829690014"中有一个特殊字符。只需在parameters_test中重新键入输入字符串(特别是1),它应该可以正常工作。

    匿名用户

    列表中的字符串“1829690014”是[,1,8,2,9,6,9,0,0,1,4]而不是[1,8,2,9,6,9,0,0,1,4],因此当您比较这两个时,它会给出错误。