草庐IT

comparison

全部标签

java - 为什么使用 == 比较枚举会导致 PMD 警告?

以下使用==比较两个枚举值:MyEnumenum1=blah();//couldreturnnullMyEnumenum2=blahblah()//couldreturnnullif(enum1==enum2){//...}但是PMD给出了一个CompareObjectsWithEquals第3行警告:Useequals()tocompareobjectreferences不确定我是否理解sourcecodeforthischeck但认为使用==比较两个枚举是可以的,所以我想知道我的代码是否可以改进或者检查不正确。 最佳答案 这确实

Java 字符串比较不起作用?

这个问题在这里已经有了答案:关闭10年前。我想这很简单,但我就是不明白如何做到这一点:(到目前为止,我已经尝试了==和equals,但我都没有用。这是一个计算成绩的小程序对于瑞典高中系统(所以忽略瑞典语并查看字符串比较。这里的问题是统计函数变量在程序结束时仍设置为0。importjavax.swing.*;publicclassUppgift1{privateString[]subjects={"Matematik","Svenska","Engelska","Idrott","Bild","Fysik","Biologi","Kemi","Historia","Geografi","

java - 比较 Java 中的整数数组。为什么 == 不起作用?

我正在学习Java,只是想出了关于该语言的这个微妙事实:如果我声明两个具有相同元素的整数数组并使用==比较它们,结果是false。为什么会这样?比较结果不应该为true吗?publicclassWhy{publicstaticvoidmain(String[]args){int[]a={1,2,3};int[]b={1,2,3};System.out.println(a==b);}}提前致谢! 最佳答案 使用Arrays.equals(arr1,arr2)方法。==运算符只是检查两个引用是否指向同一个对象。测试:int[]a={1,

java - 使用哪个持续集成库?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我在上一个项目中使用CruiseControl作为CI框架。对其他一些工具有什么建议吗?(不是我发现CruiseControl缺乏,只是想知道是否有人做了一些比较)

java - 实现接口(interface)比较器

假设我有一个简单的接口(interface),我希望基于某些功能Comparable:interfaceOrganismextendsComparable{StringgetName();intgetComplexity();@OverridedefaultintcompareTo(Organismother){returnthis.getComplexity()-other.getComplexity();}}每个实现类都必须返回一个唯一的复杂性,因此一个类的任何两个实例都将具有相同的复杂性,而不同类的任何两个实例将具有不同的复杂性。自然排序会将类的所有实例“组合”在一起。我现在想在

Java I/O 与 NIO : Quick Benchmark Comparison

我最近读到,由于多核计算机的新可用性,Java的I/O性能优于NIO。我使用本地主机环回地址运行了一个快速测试,比较I/O和NIO在LAN上的传输时间。注意:这是使用JDK7结果(3次试验):平均I/O传输21789.3毫秒NIO传输平均22771.0ms还值得注意的是,与I/O相比,每次NIO传输的CPU使用率似乎高出约10%。我的问题是我的比较代码是否公平?我是否编写了良好/同等的I/O和NIO代码?如果没有,我该如何改进并重新运行此测试?publicstaticvoidmain(String[]args){System.out.println("Initiatingtestseq

java - 图像比较技术与 Java

我正在寻找几种方法来比较两张图片,看看它们有多相似。目前我计划将百分比作为“相似性指数”的最终结果。我的程序大纲是这样的:用户选择2张图片进行比较。通过一个按钮,可以使用几种不同的方法比较图像。最后,每种方法旁边都会有一个百分比,表示基于该方法的图像的相似程度。我最近读了很多书,我读过的一些东西似乎非常复杂和高级,不适合像我这样只有大约一年Java经验的人。到目前为止,我已经阅读了:傅里叶变换-我发现这在Java中实现起来相当困惑,但显然Java高级成像API有一个类。虽然我不确定如何将输出转换为实际结果SIFT算法-看起来异常复杂直方图-可能是迄今为止提到的所有图表中最简单的像素抓取

java - 为什么HashMap的get()在Java中会同时比较hash值和key?

我在看JDK8中HashMap的实现。在get方法中,我看到下面一行用于查找与给定键匹配的节点。if(e.hash==hash&&((k=e.key)==key||(key!=null&&key.equals(k))))为什么需要将哈希值与key进行比较?为什么上面的行不写成:if(((k=e.key)==key)||(key!=null&&key.equals(k)))有没有解释为什么这样做?谢谢。 最佳答案 引起您困惑的似乎是两件事:1。比较哈希值(通常非常)比直接比较键快。2。在==运算符中,如果第一个条件为假,则不会检查第二

java - 将两个 LinkedList<String> 与 ListIterator 与 for 循环和 get(int index) 进行比较

我有两个始终具有相同大小的LinkedList对象。我想比较它们,看看它们的内容是否相同。为每个列表创建ListIterator并使用whilehasNext循环与使用计数器(inti)并使用linkedlist.get(i)从0迭代到linkedlist.size()获取和比较的一般性能和样式含义是什么值(value)?有没有我忽略的更好方法?我唯一能想到的是ListIterator方法可能更好,因为我以后可以更轻松地交换另一个Comparable列表(不是我计划的)。我不知道这两者在引擎盖下是什么样子,所以我不确定如何比较它们的性能。 最佳答案

java - 相同的字符串比较给我错误

这个问题在这里已经有了答案:HowdoIcomparestringsinJava?(23个回答)关闭6年前。我有两个相同的字符串,一个在数组中,一个在字符串变量中。当我比较这些IDENTICAL字符串时,我每次都会得到false。我调试调试了调试,但每次都得到相同的结果。这是有问题的代码Stringtemp=""+(num1*num2);Booleanequal=temp==answers[i];if(equal){correct[i]=true;num_correct++;}else{correct[i]=false;}同样,我已经调试了这个程序的每一个小细节,我101%确定这些字符