草庐IT

Comparable

全部标签

java - 有没有 compareTo() 和 equals() 不一致的标准 Java 类?

我正在寻找compareTo()可以返回0而equals()返回false的所有标准Java类:Comparablecomparable1=???;Comparablecomparable2=???;assertcomparable1.compareTo(comparable2)==0;assert!comparable1.equals(comparable2);我只知道一个:newBigDecimal("1.0")等于newBigDecimal("1")使用compareTo()但不等于使用equals()。还有其他的吗?我对所有这些类都感兴趣,但仅限于公共(public)JavaA

java - 为什么 Stream.sorted 在 Java 8 中不是类型安全的?

这是来自OracleJDK8实现的Stream接口(interface):publicinterfaceStreamextendsBaseStream>{Streamsorted();}并且在运行时很容易将其炸毁,并且在编译时不会生成警告。这是一个例子:classFoo{publicstaticvoidmain(String[]args){Arrays.asList(newFoo(),newFoo()).stream().sorted().forEach(f->{});}}编译得很好,但会在运行时抛出异常:Exceptioninthread"main"java.lang.ClassCa

java - 为什么 Stream.sorted 在 Java 8 中不是类型安全的?

这是来自OracleJDK8实现的Stream接口(interface):publicinterfaceStreamextendsBaseStream>{Streamsorted();}并且在运行时很容易将其炸毁,并且在编译时不会生成警告。这是一个例子:classFoo{publicstaticvoidmain(String[]args){Arrays.asList(newFoo(),newFoo()).stream().sorted().forEach(f->{});}}编译得很好,但会在运行时抛出异常:Exceptioninthread"main"java.lang.ClassCa

java - Java中的泛型数组

好的,我一直在网上搜索,但似乎找不到任何解决问题的方法。我找到了很多解决方案,但没有一个适合。我需要创建一个泛型数组。但是泛型类型本身扩展了Comparable。当我尝试以下操作时:publicclassHash>{privateT[]hashTable;privateinttableSize;Hash(intrecords,doubleload){tableSize=(int)(records/loadFactor);tableSize=findNextPrime(tableSize);hashTable=(T[])(newObject[tableSize]);//Error:Lja

java - Java中的泛型数组

好的,我一直在网上搜索,但似乎找不到任何解决问题的方法。我找到了很多解决方案,但没有一个适合。我需要创建一个泛型数组。但是泛型类型本身扩展了Comparable。当我尝试以下操作时:publicclassHash>{privateT[]hashTable;privateinttableSize;Hash(intrecords,doubleload){tableSize=(int)(records/loadFactor);tableSize=findNextPrime(tableSize);hashTable=(T[])(newObject[tableSize]);//Error:Lja

java - Java 中 Comparable.compareTo 的返回值是什么意思?

compareTo()中返回0、返回1和返回-1有什么区别?在Java中? 最佳答案 官方定义来自Comparable.compareTo(T)的引用文档:Comparesthisobjectwiththespecifiedobjectfororder.Returnsanegativeinteger,zero,orapositiveintegerasthisobjectislessthan,equalto,orgreaterthanthespecifiedobject.Theimplementormustensuresgn(x.co

java - Java 中 Comparable.compareTo 的返回值是什么意思?

compareTo()中返回0、返回1和返回-1有什么区别?在Java中? 最佳答案 官方定义来自Comparable.compareTo(T)的引用文档:Comparesthisobjectwiththespecifiedobjectfororder.Returnsanegativeinteger,zero,orapositiveintegerasthisobjectislessthan,equalto,orgreaterthanthespecifiedobject.Theimplementormustensuresgn(x.co

C++11 static assert for equality comparable type?

如何static_assert模板类型是C++11中的EqualityComparable概念? 最佳答案 您可以使用以下类型特征:#includetemplatestructis_equality_comparable:std::false_type{};templatestructis_equality_comparable()==std::declval(),(void)0)>::type>:std::true_type{};您将以这种方式进行测试:structX{};structY{};booloperator==(Xcon

PHP:使用类 java Comparable 对自定义类进行排序?

例如,如何使用sort()使我自己的自定义类可排序?我一直在浏览网络以找到任何使类像在Java中一样可比较的方法,但运气不佳。我尝试实现__equals()但没有成功。我也尝试过使用__toString()。我的类(class)看起来像这样:classGenre{private$genre;private$count;...}我想按整数降序对它们进行排序...($genre是一个字符串) 最佳答案 您可以创建自定义排序方法并使用http://www.php.net/manual/en/function.usort.php函数来调用它

java - Comparable 不排序对象

我很难根据其属性整理我的对象。我有这个患者对象列表,我想根据他们的姓氏对其进行排序,但它根本没有对它们进行排序。你能告诉我我做错了什么吗?下面是一些相关的代码。患者.javaimportjava.util.Comparator;publicclassPatientimplementsComparable{Stringfname,lname,mname,ID;publicstaticclassOrderByLastNameimplementsComparator{@Overridepublicintcompare(Patientp1,Patientp2){returnp1.lname.c