草庐IT

has_equal_operator

全部标签

java - Google App Engine、JDO 和 equals/hashCode

我在GoogleAppEngine中有一个运行良好的应用程序。我意识到我忘记实现equals和hashCode的一个JDO增强对象(我需要在一个集合中使用该对象)。所以我做了。在这些实现中我并没有做任何特别的事情,事实上我只是使用Eclipse来生成它们。像这样:@PrimaryKey@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)privateLongid;@PersistentprivateStringappleId;@OverridepublicinthashCode(){finalintprime=31;intres

java - ArrayList 不使用重写的 equals

我在让ArrayList正确使用覆盖的equals时遇到问题。问题是我试图使用equals只测试单个键字段,并使用ArrayList.contains()来测试是否存在具有正确字段的对象。这是一个例子publicclassTestClass{privatestaticclassInnerClass{privatefinalStringtestKey;//dataandsuchInnerClass(StringtestKey,intdataStuff){this.testKey=testKey;//etc}@Overridepublicbooleanequals(Objectin){Sy

java - 我是否使用 Google Guava 正确实现了 equals 和 hashCode?

我正在使用hibernate,需要覆盖equals和hashCode()。我选择使用google-guava的equals和hashCode助手。我想知道我是否遗漏了什么。我有idImage和filePath的获取/设置方法。@Entity@Table(name="IMAGE")publicclassImageEntity{privateIntegeridImage;privateStringfilePath;@OverridepublicinthashCode(){returnObjects.hashCode(getFilePath());}@Overridepublicboolea

java - Java 中 equals() 方法的行为

这个问题在这里已经有了答案:WeirdIntegerboxinginJava(12个答案)Whatisthedifferencebetween==andequals()inJava?(26个答案)关闭9年前。考虑以下Java代码:Objecta=newInteger(2);Objectb=newInteger(2);System.out.println(a.equals(b));Objectx=newObject();Objecty=newObject();System.out.println(x.equals(y));第一个print语句打印true,第二个false。如果这是故意行

java - hashCode() 方法当 equals() 基于多个独立字段时

我有一个类,它的相等性基于2个字段,这样如果任何一个相等,那么这种类型的对象被认为是相等的。我如何为这样的equals()编写hashCode()函数,以便保留当equals返回true时hashCode相等的一般约定?publicclassMyClass{intid;Stringname;publicbooleanequals(Objecto){if(!(oinstanceofMyClass))returnfalse;MyClassother=(MyClass)o;if(other.id==this.id||other.name==this.name)returntrue;retur

java - 比较 Java 中的字符、整数和类似类型 : Use equals or ==?

我想用Java确定一些事情:如果我有一个Character或Integer或Long之类的东西,我应该使用equals还是==就足够了?我知道对于字符串,不能保证每个唯一字符串只有一个实例,但我不确定其他盒装类型。我的直觉是使用equals,但我想确保我没有浪费性能。 最佳答案 编辑:规范为装箱转换提供了一些保证。来自section5.1.7:Ifthevaluepbeingboxedistrue,false,abyte,acharintherange\u0000to\u007f,oranintorshortnumberbetwee

网页端报错Access to XMLHttpRequest‘*‘from origin ‘*‘ has been blocked by CORS..Access-Control-Allow-Origi

网页端报错:AccesstoXMLHttpRequestat'*'fromorigin'*'hasbeenblockedbyCORSpolicy:Responsetopreflightrequestdoesn'tpassaccesscontrolcheck:No'Access-Control-Allow-Origin'headerispresentontherequestedresource. 可能的原因是Tomcat被占用,Tomcat需要在MyEclipse中重新部署 

java - String.equals 实现

在JDK8中,String.equals实现为publicbooleanequals(ObjectanObject){if(this==anObject){returntrue;}if(anObjectinstanceofString){StringanotherString=(String)anObject;intn=value.length;if(n==anotherString.value.length){charv1[]=value;charv2[]=anotherString.value;inti=0;while(n--!=0){if(v1[i]!=v2[i])returnf

java - "has private access"泛型错误

我遇到了一个实际上可以自己解决的问题,但我仍然不明白为什么我的原始代码不起作用,或者是否有比我找到的解决方案更优雅的解决方案。我在这里展示了我的代码的简化版本。考虑以下抽象父类(superclass)X:publicabstractclassX{privateinti;publicvoidm1(Xx){x.i=1;m2(x);}publicabstractvoidm2(Xx);}当调用m1时,我们操作传递的实例的X的私有(private)字段,然后我们用该实例调用m2。我有几个X的子类,它们在某种意义上都是相似的,因为它们也声明了它们操纵的私有(private)成员。为了实现这一点,他

java - 有什么可以警告我不要使用 type.equals(incompatibleType) 吗?

是否有任何工具可以针对以下类型的代码警告我:if(someClass.equals(someString))例如:if(myObject.getClass().equals(myClassName))这样的东西在Java中是合法的(等于一个对象)但是永远不会计算为真(一个类永远不能等于一个字符串)所以几乎可以肯定是一个错误。我检查了Eclipse、FindBugs和PMD,但似乎都不支持此功能? 最佳答案 是的,IntelliJIDEA有这样的检查,我相信它是默认启用的。它标记以下内容:Classclazz=String.class