如何解决如何从Java数组中获取具有固定字符串的对象?
我有一个对象数组,其长度可以动态更改,但最大值始终为8。每个对象都有一个描述它的固定字符串,例如:
StringBuffer
根据我要从一个api获得多少对象和什么类型的字符串,我想隐藏或显示一个View。我目前正在使用这样的switch语句:
a1
我这样做8次,每次必须添加一个新的switch语句。有没有办法简化这个过程?
解决方法
您可以使用循环,也可以使用Map来避免switch语句。
List<YourCustomObject> arr = getObjectsFromAPI();
Map<String,Boolean> fruitVisibility = new HashMap<>();
fruitVisibility.put("apple",true); // Let' say apple is visible
fruitVisibility.put("orange",false); // Orange is not visible
// ..... and so on
for(YourCustomObject obj : arr){
if(fruitVisibility.containsKey(obj.getString()))
view.setVisible(fruitVisibility.get(obj.getString()));
}
或者您可以使用尝试的方式。
for(int i=0; i<array.size(); i++){
switch(array.get(i).getString()){
// case ..
// ....
}
}
,
您可以使用迭代器,就像下面这样:
Iterator iterator = list.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。