草庐IT

is_equality_comparable

全部标签

Java中的equals()与==的区别与用法

在Java开发中有有一个看似简单,但是在网上有大量关于话题和问题,就是equals()和==操作符有什么区别==:操作符用于比较两个对象的地址是否相等equals():方法用于比较两个对象的内容是否相等今日内容介绍,大约花费9分钟图片为了更好地理解这个区别,让我们看一个例子:Stringstr1=newString("Hello");Stringstr2=newString("Hello");System.out.println(str1.equals(str2));//输出trueSystem.out.println(str1==str2);//输出false例子中,虽然两个字符串的内容相同

java - 使用注释生成 equals/hashcode/toString

我相信我在某处读到有人在编译时(使用APT)生成equals/hashcode/toString方法,通过识别哪些字段应该是散列/相等性测试的一部分。我在网上找不到类似的东西(我可能梦到过?)...可以这样做:publicclassPerson{@Id@GeneratedValueprivateIntegerid;@IdentityprivateStringfirstName,lastName;@IdentityprivateDatedateOfBirth;//...}对于一个实体(所以我们想排除一些字段,比如id)。或者像scala案例类,即值对象:@ValueObjectpubli

java - 好奇 : Why is the "throws <SomeSpecific>Exception" syntax required in Java alone?

我们都知道它是必需的。但是为什么仅在Java中需要它,而其他具有异常处理能力的类似语言不需要我们编写“throwsException”?有没有人知道在设计Java语言时发生了什么以及为什么要这样做?只是好奇。附言这可能不是一个实际或真正必要的问题-它可能对我正在进行的项目无论如何都没有帮助。但是某些语言特性激起了我的好奇心:D编辑看来我的问题很含糊!我想我错误地表达了这个问题。在处理Java代码的编程过程中,我们需要在某些时候使用“throwsException”类语法。但是在C#或C++甚至VB.Net和PHP中从来不需要类似的东西。那么为什么只有Java坚持这样做呢?

java - 尝试在 Eclipse 中创建新项目时出现 "Build path entry is missing"错误

Buildpathentryismissing:org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7我在Eclipse中创建新项目时遇到此错误。顺便说一句,我正在使用Ubuntu。谁能帮我解决这个问题? 最佳答案 此错误是由于JRE系统库引起的。也许您没有为运行eclipse项目提供适当的JRE。所以请按照以下步骤操作。右键单击项目并选择属性。点击左侧菜单中的JavaBu

Java NIO - Files.isSameFile 与 Path.equals 有何不同

我无法理解java.nio.file.Files.isSameFile方法与java.nio.file.Path.equals方法有何不同。谁能告诉我它们有何不同? 最佳答案 它们非常不同。例如:finalPathp1=Paths.get("/usr/src");finalPathp2=Paths.get("/usr/../usr/src");p1.equals(p2);//FALSEFiles.isSameFile(p1,p2);//truefinalPathp1=fs1.getPath("/usr/src");finalPath

java - weblogic.application.ModuleException : Context path '' is already in use by the module:/application:

当我尝试运行weblogicserver12c时,它抛出此错误并且无法启动。出现这个错误后,此时服务器挂了并且不在这一行之后开始请帮助解决此错误。 最佳答案 停止weblogic服务器从weblogic的“autodeploy”文件夹中删除所有war文件。然后再次启动weblogic服务器之后在浏览器中输入URL“http://localhost:7001/console/”转到“配置应用程序”链接然后选择以前的项目并停止->工作完成时 关于java-weblogic.applicati

java - 如何检查类是否重写了 equals 和 hashCode

有没有办法查明一个类是否覆盖了equals()和hashCode()? 最佳答案 你可以使用反射publicstaticvoidmain(String[]args)throwsException{Methodmethod=Bar.class.getMethod("hashCode"/*,newClass[]{...}*/);//passparametertypesasneededSystem.out.println(method);System.out.println(overridesMethod(method,Bar.class

java - 如何在 Grails 或 Java 应用程序中轻松实现 "who is online"?

我正在用grails构建一个社区网站(使用ApacheShiro作为安全和身份验证系统),我想实现“谁在线?”的功能。此网址http://cksource.com/forums/viewonline.php(如果您无权访问此网址,请参阅下面的快照)给出了我想要实现的目标的示例。我怎样才能以最简单的方式做到这一点?Grails或Java中是否有任何现有解决方案?谢谢。快照:SnapshotofWhoisonlinepagehttp://www.freeimagehosting.net/uploads/th.2de8468a86.png或在这里查看:http://www.freeimage

实现 Comparable 时的 Java 警告

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

Microsoft Visual C++ 14.0 or greater is required的解决方法

用pip去安装Python第三方库的时候,安装不成功,遇到问题,提示有error:MicrosoftVisualC++14.0orgreaterisrequired.Getitwith“MicrosoftC++BuildTools”:https://……的错误。原因是缺少C++编译器,因为有些程序需要使用,没有C++接口会报错。复制给出的链接,是让你去官网下载生成工具点击下载–安装 安装步骤如图所示只需勾选红框圈中的C++生成工具,其它不用动,右下角点击安装,之后会有提示让你重启电脑。重启电脑之后,再进行pip安装,显示Successfullyinstalled~~安装成功,问题解决。