在java中,有没有类似于javascript对象类型的数据类型,我可以像在javascript中那样存储东西。
这是一个对象,它内部包含三个数组:
var myObject = {"smsBody": [], "totalSMS": [], "sender": []};
我可以将数据推送到该对象内的各个数组项:
myObject.totalSMS.push("5");
myObject.totalSMS.push("10");
然后可以循环它们以从数组项中获取完整数据:
for (var i = 0; i < myObject.totalSMS.length; i++) {
alert(myObject.totalSMS[i]);
}
Java中有类似的东西吗?
最佳答案
这与您在 Java 中发布的代码最接近:
Map<String, List<String>> myObject = new HashMap<>();
myObject.put("smsBody", new ArrayList<>());
myObject.put("totalSMS", new ArrayList<>());
myObject.put("sender", new ArrayList<>());
List<String> totalSMS = myObject.get("totalSMS");
totalSMS.add("5");
totalSMS.add("10");
for (String s : totalSMS) {
System.out.println(s);
}
请注意,有很多细微差别,例如您不能使用 myObject.totalSMS
之类的内容,而是需要使用字符串 "totalSMS"
作为 map 的 key 。 Java 还有一个更方便的 for-each 循环,这意味着您不需要迭代元素的索引并单独访问它们(尽管如果您愿意,您仍然可以通过元素索引循环访问列表)。
关于Java:数据类型类似于javascript对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23467823/