Tag: list

使用Struts 2从JSP重新填充ArrayList

这是我用来重新填充ArrayList 这是动作类 public class QuizTest extends ActionSupport{ public String execute(){ List q= myQuestions; System.out.println(myQuestions); return “success”; } public String populateQuestions(){ //more code here } public void setMyQuestions(List myQuestions) { this.myQuestions = myQuestions; } private List myQuestions = new ArrayList(); } 其中myQuestions是问题对象列表。 提交后,这给了我一个错误 Unexpected Exception caught setting ‘quizItem.question’ on ‘class quiz.actions.QuizTemplateAction: Error setting expression ‘quizItem.question’ with […]

找出对象列表是否包含具有指定字段值的内容?

我有一个从数据库收到的DTO列表,他们有一个ID。 我想确保我的列表包含具有指定ID的对象。 显然,在这种情况下使用期望字段创建一个对象将无济于事,因为contains()调用Object.equals(),它们将不相等。 我找到了一个类似的解决方案:创建一个接口HasId ,在我的所有DTO中实现它,并inheritanceArrayList,其中contains(Long id)一个contains(Long id)方法的新类。 public interface HasId { void setId(Long id); Long getId(); } public class SearchableList extends ArrayList { public boolean contains(Long id) { for (T o : this) { if (o.getId() == id) return true; } return false; } } 但在这种情况下,我不能将List和ArrayList强制转换为SearchableList ……我会接受它,但我想确保我不是在发明自行车。 编辑(2016年10月): 当然,随着Java 8中lambda的引入,这样做的方法很简单: list.stream().anyMatch(dto -> dto.getId() == id);

validationSpring中的对象列表

我有以下控制器方法: @RequestMapping(value=”/map/update”, method=RequestMethod.POST, produces = “application/json; charset=utf-8”) @ResponseBody public ResponseEntityWrapper updateMapTheme( HttpServletRequest request, @RequestBody @Valid List categories, HttpServletResponse response ) throws ResourceNotFoundException, AuthorizationException { … } CompanyTag以这种方式定义: public class CompanyTag { @StringUUIDValidation String key; String value; String color; String icon; Icon iconObj; public String getKey() { return key; } public void setKey(String key) { this.key […]

如何在Java列表中获得反向列表视图?

我想在列表上有一个反向列表视图(以类似于List#sublist方式在List#sublist提供子列表视图)。 是否有一些提供此function的function? 我不想制作任何类型的列表副本,也不想修改列表。 如果我在这种情况下至少可以在列表上获得反向迭代器就足够了。 另外,我知道如何自己实现这一点。 我只是想问Java是否已经提供了这样的东西。 演示实施: static Iterable iterableReverseList(final List l) { return new Iterable() { public Iterator iterator() { return new Iterator() { ListIterator listIter = l.listIterator(l.size()); public boolean hasNext() { return listIter.hasPrevious(); } public T next() { return listIter.previous(); } public void remove() { listIter.remove(); } }; } }; } 我刚刚发现一些List实现有descendingIterator() ,这是我需要的。 […]

修饰符静态仅在常量变量声明中允许

我有一个内部类存储我正在用于游戏的控件的信息,现在我想在其中存储一个包含所有控件名称的静态ArrayList。 但我得到这个错误:“修饰符静态只允许在常量变量声明中” private class Control{ public ArrayList keys = new ArrayList(); public final String key; public final Trigger trigger; Control(String k, Trigger t){ key = k; trigger = t; keys.add(key); } } 现在我知道这可以通过将ArrayList从类中取出并将其存储在主类中来轻松解决。 但我更愿意将所有信息保存在一个可以访问所有内容的课程中。 “Control.key,Control.trigger,Control.keys”比“键,触发器,键”更优雅/可读 或许我只是有强迫症,我仍然想按照自己的方式去做。

你为什么不能在Java中使用“List <List >”?

在Java中,为什么以下代码行不起作用? List<List> myList = new ArrayList<ArrayList>(); 它可以工作,如果我改为 List<ArrayList> myList = new ArrayList<ArrayList>(); 起初,我想也许你不能有一个接口列表,但我可以创建一个List就好了。 想法?

什么是List与ArrayList?

这两个对象之间的根本区别是什么? 一个更有效率? 有没有更多的方法?