草庐IT

collection_items

全部标签

java - XPTY0004 : Required item type of first operand of '>' is numeric; supplied value has item type xs:string

toComplie字符串包含函数的所有定义,如求和、乘法等。附加if($a>0)then(iaf:numeric-equal(iaf:numeric-multiply($b,$c),$d))否则(true())执行这个的片段是:XQueryExecutablequeryExecutable=xqueryCompiler.compile(toCompile.toString());XQueryEvaluatorxqueryEvaluator=queryExecutable.load();//setExternalVariables():functionusedtosetthevariab

java - 何时返回 Iterable<String> 而不是 List、Set、Collection?

所以我一直在相当广泛地使用Neo4jAPI,我注意到它们几乎总是有返回Iterable而我一直认为最好返回Set、List或Collection之一,除非有令人信服的理由不这样做。设置为向用户表明它永远不会有重复的元素,当顺序很重要或包含重复元素时为List,或者当您没有策略时为Collection。与Iterable相比,我更喜欢它们,因为它们具有有用的实用程序,如.contains()、.add()等。我发现我经常需要编写代码将Iterable转换为Collection。所以我的问题是:我是否遗漏了一些重要的东西?使用Iterable而不是Collection是否有合理的理由?你什

java - 是否可以保证 java.util.Collections.shuffle() 背后的算法在未来的 Java 版本中保持不变?

在未来的java版本中,以下程序是否保证生成具有相同内容和顺序的列表?importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Collections;importjava.util.List;importjava.util.Random;publicclassTest{publicstaticvoidmain(String[]args){Listlist=newArrayList(Arrays.asList("A","B","C","D"));Collections.shuffle(list,newRandom(

java - 我应该重写 Collections 的 hashCode() 吗?

假设我有一些包含各种字段的类:classMyClass{privateStrings;privateMySecondClassc;privateCollectioncoll;//...@OverridepublicinthashCode(){//????}}其中,我确实有各种我想存储在HashMap中的对象。为此,我需要拥有MyClass的hashCode()。我必须递归进入所有字段和各自的父类,以确保它们都正确实现了hashCode(),否则MyClass的hashCode()可能不会考虑某些值。这样对吗?我如何处理该集合?我可以一直依赖它的hashCode()方法吗?它会考虑我的s

Java,为什么 collections.sort() 仍然适用于非比较器类型的参数?

我知道在javaCollections类中,有一个静态方法sort:sort(Listlist,Comparatorc**)sort中的第二个参数应该是一个实现Comparator接口(interface)的对象及其比较方法。但是当我学习lambda的方法引用时,我看到了这个例子:publicclassTest{publicstaticvoidmain(String[]args){newTest().sortWord();}publicvoidsortWord(){Listlst=newArrayList();lst.add("hello");lst.add("world");lst.

java - Collections.synchronizedList() 使用什么模式

我正在阅读方法Collections.synchronizedList()的实现并且很困惑它是装饰器模式还是代理模式的例子? 最佳答案 绝对是装饰器。它用相同接口(interface)的不同实现包装提供的列表,该接口(interface)的方法改变相同底层集合的行为(通过同步访问),同时将方法直接委托(delegate)给包装的实例。如果它是代理模式,则您不一定需要在构造期间传递要包装的集合,并且这些方法在幕后不一定会在每次调用时都引用完全相同的集合实例。另见:ExamplesofGoFDesignPatternsinJava'sc

java - HQL 中的 Collection.contains(Enum.Value)?

我对如何在HQL中做某事有点困惑。假设我有一个Foo类,我坚持hibernate。它包含一组枚举值,如下所示:publicclassFoo{@CollectionOfElementsprivateSetbarSet=newHashSet();//gettersandsettershere...}和publicenumBar{A,B}是否有一个HQL语句我可以用来只获取barSet包含Bar.B的Foo实例?Listfoos=session.createQuery("fromFooasfoo"+"wherefoo.barSet.contains.Bar.B").list();或者我是否一

java - 如何检查方法是否在 Java 中返回 Collection<Foo>?

我想根据方法的签名检查接口(interface)中是否存在方法。该方法应具有的签名是:CollectionmethodName(Spamarg0,Eggsarg1,...)我可以通过Class.getMethods()找到方法然后用method.getName()分别找到名称、参数和返回类型,method.getParameterTypes()和method.getReturnType().但是我要将返回类型与什么进行比较以确保只有返回Collection的方法被选中,而不是其他集合?method.getReturnType().equals(Collection.class)因为以上

Java 泛型 : Obtaining a Class<Collection<T>>?

我在使用泛型时遇到问题。给定以下示例:classA{publicA(ClassmyType){}}classBextendsA>{publicB(ClassmyEType){super(???);}}什么???应该?Collection.class不工作...Collection.class两者都不。(Class>)Collection.class不工作...如果有java泛型大师,我需要帮助...:/ 最佳答案 你不可能得到Class>除了Collection.class,因为类型删除。你必须使用不安全的转换来转换Collecti

java - 在 Collection 中保存表行有什么好处?

我见过一些Java代码,其中数据库表中的行被保存在一个集合中(通常是ArrayList或HashMap)。这种方法有什么好处?如何使集合和表保持同步?为什么不为每次检索向数据库发送查询?这是一个好的做法吗? 最佳答案 好处是性能。查询数据库是资源和时间密集型的。如果您的表足够小,您可以将项目保存在内存中,那么简单地引用本地内存会快几个数量级。就保持同步而言,这是一个更困难的答案,并且取决于用例。在大多数情况下,除非您设置了一些良好的自定义架构,否则无法保证一旦您将数据库和内存中的集合检索到内存中,它们就会同步。如果您想要采用这种方法