草庐IT

lang-language

全部标签

java - 如何有意义地为 java.lang.Class<T> 定义 hashCode 和 equals?

如果需要使用Class作为Map的key的一部分定义hashCode的正确方法是什么?和equals?Class从Object继承了那些它检查引用相等性并将内存地址作为哈希码返回,但在我看来,尚不清楚equals的有意义定义是什么和hashCodeClass的定义.我应该使用theClass.getClass().hashCode();吗?例如(我们有ClasstheClass;)使用实际实例的方法?但这似乎不是正确的做法。例如在javadoc对于Class:EveryarrayalsobelongstoaclassthatisreflectedasaClassobjectthatis

java - Primefaces 异常 INFO : java. lang.ArithmeticException :/by zero java. lang.ArithmeticException:/by zero

我已经为数据表实现了LazyLoading。当我使用分页浏览数据表时,出现以下异常。com.sun.faces.context.PartialViewContextImplprocessPartialINFO:java.lang.ArithmeticException:/byzerojava.lang.ArithmeticException:/byzeroatorg.primefaces.model.LazyDataModel.setRowIndex(LazyDataModel.java:62)atorg.primefaces.component.api.UIData.setRowMo

java - user.region、user.language、user.country 和 user.variant 之间有什么区别?

我最近在我的系统中遇到了Java语言环境的问题,我试图用这个配置运行一个项目:-Duser.language=pt_BR-Duser.country=BR谷歌搜索后,我找到了thissite这让我将我的配置更改为:-Duser.language=pt-Duser.region=BR-Duser.country=BR问题就解决了。另外我找到了页面likethis谈论使用另一个名为user.variant的属性。我不是在追求LC_*属性,我只是想找出这四个属性之间的区别是什么?user.languageuser.regionuser.countryuser.variant谢谢

java.lang.NoClassDefFoundError : sun/misc/BASE64Encoder 错误

我想用java代码连接一些域。我可以按如下方式在浏览器中连接域:http://username:password@domain.com我尝试了以下方法:Stringenc="username"+":"+"password";Stringencoded=newsun.misc.BASE64Encoder().encode(loginPassword.getBytes());URLurl=newURL("domain.com");URLConnectionconn=url.openConnection();conn.setRequestProperty("Authorization","B

java - JDK-9 不允许我使用字符串 : "java.lang.String is ambiguous"?

一周前,我的每个项目都正常工作,但是当我将Eclipse更新到Oxygen版本并安装JDK-9时,事情就变得奇怪了。当我尝试使用字符串时,一段时间后(更像是每次我保存项目时),编译器会针对我项目中的每个字符串向我抛出一个错误。字符串类型被识别为有歧义的类"Thetypejava.lang.Stringisambiguous"所以我尝试导入java.lang.String看看它是否修复了错误:导入后"Thepackagejava.langisaccessiblefrommorethanonemodule:java.base,java.base"惊喜!?它不会:(我尝试在Google和SO

Java 9 HttpClient java.lang.NoClassDefFoundError : jdk/incubator/http/HttpClient

我正在尝试在Java9maven项目中使用孵化器中的HttpClient。我没有遇到任何编译问题。项目构建成功。但是当我尝试运行Main类时,它给了我以下异常:Exceptioninthread"main"java.lang.NoClassDefFoundError:jdk/incubator/http/HttpClientatjava9.http_client.Main.main(Main.java:18)Causedby:java.lang.ClassNotFoundException:jdk.incubator.http.HttpClientatjava.base/jdk.int

java - 将 java.lang.reflect.getMethod 与多态方法一起使用

考虑以下片段:publicclassReflectionTest{publicstaticvoidmain(String[]args){ReflectionTesttest=newReflectionTest();Stringobject=newString("Hello!");//1.StringisacceptedasanObjecttest.print(object);//2.TheappropriatemethodisnotfoundwithString.classtry{java.lang.reflect.Methodprint=test.getClass().getMeth

java.lang.NoClassDefFoundError 当文件存在时

我试图四处寻找可能对我有帮助的帖子,但找不到。我正在部署ear到JBoss4服务器,自从我添加了一个新项目后我就开始遇到这个问题。这个新项目在eclipse中定义为Java项目,EAR项目有一个EJB项目,该项目将新Java项目作为其依赖的项目之一-如果通过eclipse在本地部署到JBoss上,则没有问题并且一切顺利但是当在测试环境(在eclipse之外)中部署到JBoss时,在新Java项目中定义的类之一上不断出现java.lang.NoClassDefFoundError。我查看EAR文件以找到jar(EJB项目),然后在jar中,我可以看到目录结构和新Java项目中的所有类文件

java - 为什么 Tomcat 在取消部署时会抛出 'java.lang.IllegalStateException: Class invariant violation'?

我有一个网络应用程序(Tomcat6,log4j1.2.16),它以一个监听器开始。取消部署应用程序会引发以下异常:INFO(HqListener.java:28)-HqListenerexited!log4j:ERRORlog4jcalledafterunloading,seehttp://logging.apache.org/log4j/1.2/faq.html#unload.java.lang.IllegalStateException:Classinvariantviolationatorg.apache.log4j.LogManager.getLoggerRepository

项目启动报错:java.lang.NoSuchMethodError 之 method <init>()V not found

最近一个安全隐患修复需求,要求项目中snakeYaml版本升级为2.0以上,升级、替换snakeYaml以后,项目启动时遇到如下报错:java.lang.NoSuchMethodError:org.yaml.snakeyaml.constructor.Constructor:method()Vnot看报错信息“method()Vnotfound”,其中“”代表“构造方法”,“V”代表返回值void,综上报错信息为“找不到无参构造方法”,再结合刚刚替换了依赖项的版本,看左下角方法区确实没有无参构造方法:为了更严谨一些,我把替换掉的依赖项重新导入,查看其构造方法,确实是有无参构造方法的: 至此,问