草庐IT

special_compare

全部标签

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

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

java - 在 Comparable <Type> 类中实现 compareTo 时,特定的有符号整数是否重要?

在实现compareTo()时,需要考虑“差异”的程度吗?例如,如果我有3个对象,C1、C2和C3,则C1C1.compareTo(C2)应该返回一个小于C2.compareTo(C3)的整数吗?Comparable接口(interface)的文档似乎没有指定一种或另一种方式,所以我猜度数无关紧要,但很高兴知道返回特定数字是否有一些优势(对于例如,提高TreeSet排序速度之类的)。http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Comparable.html#compareTo(T) 最佳答案

java - 泛型 - (elements instanceof List<? extends Comparable>) 的合法替代品

我有一个唯一参数(Listelements)将元素设置为ListModel的方法,但我需要进行验证以查看通用类型是否实现了可比性,因为这样的事情:if(elementsinstanceofList)是非法的,我不知道如何进行正确的验证。更新我已经使用以下方法完成了此验证:(elements.size()>0&&elements.get(0)instanceofComparable)但我想知道是否有更清洁的解决方案,例如使用反射?提前致谢。 最佳答案 列表的通用类型是erasedatruntime.为此,您需要在方法签名中要求参数或单

java - equals() 的实现 : compare against implemented interface or implementing class?

我一直想知道如何最好地为所有实现相同接口(interface)的类系列实现equals()(并且客户端应该只使用所述接口(interface)并且永远不知道实现类)。我还没有编写自己的具体示例,但JDK中有两个示例-java.lang.Number和java.lang.CharSequence可以说明该决定:booleanb1=newByte(0).equals(newInteger(0)));或使用CharSequencebooleanb2="".equals(newStringBuilder());理想情况下,您是否希望这些评估为真或假?这两种类型都实现了相同的数据类型接口(int

java - MyClass 无法转换为 java.lang.Comparable : java. lang.ClassCastException

我正在做一个java项目,我遇到了这个问题,不知道如何解决。我项目中的类(简化):publicclassItem{privateStringitemID;privateIntegerprice;publicIntegergetPrice(){returnthis.price;}}publicclassStore{privateStringstoreID;privateStringaddress;}publicclassStock{privateItemitem;privateStorestore;privateIntegeritemCount;publicIntegergetInven

java - SAX 解析器 : Ignoring special characters

我正在使用Xerces来解析我的XML文档。问题是像 这样的XML转义字符出现在characters()方法中作为非转义字符。我需要按原样在characters()方法中获取转义字符。谢谢。UPD:试图在我的DefaultHandler的后代中覆盖resolveEntity()方法。从调试中可以看出,它被设置为XML阅读器的实体解析器,但未调用覆盖方法的代码。 最佳答案 我认为您的解决方案还不错:几行代码就可以完全满足您的需求。问题是ContentHandler接口(interface)没有提供startEntity和en

java - 如何在两个结构上执行 "deep compare"或 "diff"?

(这是一道冷聚变题)我有两个不同的结构,它们可能包含也可能不包含相同的数据,我想看看它们是否包含相同的数据!我的结构将始终包含简单值(数字、字符串或boolean值),因为它们是使用DeserializeJSON创建的,所以希望这可以轻松完成。我找到了BenNadel的帖子here,但该技术似乎对我不起作用。到目前为止,这是我尝试过的方法(其中包含一些cfwheels代码):itemA=DeSerializeJSON(model("itemsnapshot").findByKey(4).json);itemB=DeSerializeJSON(model("itemsnapshot").

实现 Comparable 时的 Java 警告

我正在尝试对自定义对象的ArrayList使用Collections.sort,但我收到了警告,而且我无法弄清楚原因Warning:Typesafety:Uncheckedinvocationsort(ArrayList)ofthegenericmethodsort(List)oftypeCollections使用这段代码:ArrayListcharOccurrences=newArrayList();...Collections.sort(charOccurrences);这是我的方法:publicclassCharProfileimplementsComparable{...@Ov

使用 TreeMap 时的 Java "cannot cast to Comparable"

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Java:SortedMap,TreeMap,Comparable?Howtouse?我正在使用JavaJungIgraph包和Netbeans7。我从Java收到以下错误:Exceptioninthread"main"java.lang.ClassCastException:graphvisualization.MyVertexcannotbecasttojava.lang.Comparableatjava.util.TreeMap.put(TreeMap.java:542)这是与错误相关的代码:Sorted

java - Comparable 接口(interface)的声明

当Comparable接口(interface)变成了通用的,声明变成了interfaceComparable真的应该是这样的interfaceComparable>T没有意义不延长Comparable因为实现者必须确保a.compareTo(b)和b.compareTo(a)总是有相反的符号。我一直认为声明“错误”的原因与泛化现有接口(interface)的问题有关,但我无法真正解释它。有没有人有任何见解? 最佳答案 ReallyitshouldbesomethinglikeinterfaceComparable>但这并没有真正为