jjzjj

comparing

全部标签

java - < 和 > 是什么意思,比如 implements Comparable<BigInteger>?

在Java1.4.2,类java.math.BigInteger实现接口(interface)Comparable,Serializable.在Java1.5.0,类java.math.BigInteger实现接口(interface)Serializable,Comparable.这只是一个例子,帮我问一下和>.我真正想知道的是和>东西。我的问题有三个:是什么意思implements的一部分声明是什么意思?这种语法叫什么?它有什么作用?附:真的很难用谷歌搜索和>并且不可能在SO中搜索和>首先。谢谢! 最佳答案 阅读JavaGene

java - 从主要包含空值的 Comparables 列表中获取最小值和最大值的最佳方法是什么?

我正在考虑这样的事情:publicstatic>TminOf(T...ts){SortedSetset=newTreeSet(Arrays.asList(ts));returnset.first();}publicstatic>TmaxOf(T...ts){SortedSetset=newTreeSet(Arrays.asList(ts));returnset.last();}但不是null安全的,这也是我想要的。你知道解决这个问题的更好方法吗?编辑:评论后我也试过min():publicstatic>TminOf(T...ts){returnCollections.min(Array

java - 类型安全地创建要传递给 Comparator.comparing() 的 Function 实例

假设我有一个具有以下签名的方法:>Comparatormethod(Map>comparatorFunctionMap)该方法接受一个函数映射(带有字符串键)并创建一个Comparator结果(如何并不重要)。映射值是Function的实例,这样它们就可以直接传递给Comparator.comparing().如何以类型安全的方式填充此map?假设我有一个类Person具有属性name和age(以及他们的setter/getter)。当我执行以下操作时:Map>map1=newHashMap();map1.put("name",Person::getName);method(map1)

java - Comparable 接口(interface)前无接口(interface)词

这是细节,但我想知道为什么会这样。示例代码:Classklasa=Enum.class;for(Typet:klasa.getGenericInterfaces())System.out.println(t);程序输出:java.lang.Comparableinterfacejava.io.Serializable为什么在输出java.lang.Comparable之前没有接口(interface)词.是界面,是吗?在我看来输出应该是:**interface**java.lang.Comparableinterfacejava.io.Serializable比较特殊处理?

java - 转换为 Comparable,然后进行比较

我真的很想喜欢泛型,但到目前为止,它们造成的麻烦超过了任何好处。请告诉我我错了。我理解在使用非通用框架(Spring、Hibernate)时添加@SuppressWarnings("unchecked")的必要性。仅这一点就真正降低了泛型的值(value),因为要求将类传递给构造函数以避免删除的陷阱。然而,真正的刺似乎总是在类型转换。我通常会尝试一段时间来获得正确的语法,但随后放弃纯洁的尝试,添加一个@SuppressWarnings,然后继续我的生活。这是一个例子:我正在反射(reflection)一个bean以寻找两个实例之间的差异。一些属性实现Comparable使得(a.equ

Java 8 : implementing Comparable

我喜欢Comparator的新静态工厂方法,因为它们允许以非常简洁且不易出错的方式实现比较器。但是实现Comparable的推荐方法是什么?我们应该在Comparable实现中使用Comparators吗?publicMyClassimplementsComparable{...publicintcompareTo(MyClassother){ComparatornaturalOrderComparator=Comparator.comparing(MyClass::getFoo).thenComparing(MyClass::getBar);returnnaturalOrderCom

java - 如何让 Comparator.comparing 正确推断类型参数?

我有以下类(class):importjava.util.ArrayList;importjava.util.Comparator;importjava.util.List;importorg.apache.commons.lang3.tuple.Pair;publicclassSorter{privateList>dtoPairs=newArrayList();publicSorter(){Comparator>bySize=Comparator.comparing(Pair::getLeft);Comparator>byName=Comparator.comparing(p->p.

java - 从另一个函数返回 `Comparator`

首先,请让我清楚,我受API设计的限制,所以请不要更改API,但是可以添加私有(private)函数。publicclassPointimplementsComparable{publicPoint(intx,inty)//constructsthepoint(x,y)publicvoiddraw()//drawsthispointpublicvoiddrawTo(Pointthat)//drawsthelinesegmentfromthispointtothatpointpublicStringtoString()//stringrepresentationpublicintcomp

Java:删除 "Comparable is a raw type"警告

假设我有一个名为foo的方法,将2个对象作为参数。这两个对象属于同一类型,并且都实现了可比较的接口(interface)。voidfoo(Objectfirst,Objectsecond){if(!first.getClass().isInstance(second))//firstandsecondofthesametypereturn;ComparablefirstComparable=(Comparable)first;//WARNINGComparablesecondComparable=(Comparable)second;//WARNINGintdiff=firstComp

java - 在java中对VO的多个动态字段使用Comparable

我有课publicclassStudentVO{intage;Stringname;}我在两个不同的领域使用了同一个类。在一个地方,我需要根据年龄进行排序。在另一个地方,我需要根据名称和在另一个我可能需要根据年龄和姓名进行排序的地方。我怎样才能做到这一点?如果有一个字段我可以覆盖compareTo()。这有可能吗? 最佳答案 1)你应该写两个Comparator分别按年龄和姓名排序,然后使用Collections.sort(List,Comparator).像这样:classStudentVO{privateStringname;p