示例::
List<KeyValueDTO> keyValueList = new ArrayList<>();
KeyValueDTO keyValueDTO;
for (Map<String, Object> map : list) {
Map<String, Object> searchMap = (Map<String, Object>) map.get("search");
keyValueDTO = new KeyValueDTO();
String key = (String) map.get("data"); // here key = userFirstName userLastName
keyValueDTO.setKey(key);
keyValueDTO.setValue((String) searchMap.get("value"));
keyValueList.add(keyValueDTO);
}
for (KeyValueDTO keyValueDTO1 : keyValueList) {
System.out.println("key :: " + keyValueDTO1.getKey());
System.out.println("result : " + keyValueDTO1.getKey().equals("userFirstName userLastName")); // It must print true for key = userFirstName userLastName
}
结果::
key :: userFirstName userLastName 结果:false //一定是真的吗?
我在AWS Lambda JAVA 8上尝试此操作。
我尝试了以下代码进行测试
String s = new String("TEST");
String b = "TEST";
List<Object> list = new ArrayList<>();
list.add("TEST");
String n = null;
for (Object object : list) {
n = (String) object;
}
System.out.println(list.contains("TEST"));
System.out.println(s.equals(b));
System.out.println(b.equals(n));
System.out.println(s.equals(n));
System.out.println(n.equals("TEST"));
结果:: 真正 真正 真正 真正 真
这似乎是一种奇怪的行为,或者它可能是一个我没有得到的小错误。