草庐IT

must_be_immutable

全部标签

Java教科书: "the size of an array must be known at compile time"

我刚刚浏览了我的一本旧教科书,发现了这段在Java中定义数组的文章:Aone-dimensionalarrayisastructuredcompositedatatypemadeupofafinite,fixedsizecollectionoforderedhomogeneouselementstowhichthereisdirectaccess.Finiteindicatesthatthereisalastelement.Fixedsizemeansthatthesizeofthearraymustbeknownatcompiletime,butitdoesn’tmeanthatal

java - Selenium 自动化 : What should be the acceptable range of failed test cases apart from the valid fails when running a test suite?

我们公司正在为Web应用程序开发一个包含Selenium、POM、Maven和Java的框架,我们有大约35个测试用例。当我们运行testng.xml时,至少有4到5个测试用例随机失败,原因是陈旧的元素异常或当时元素不可点击等。当我们运行testng.xml时,某些测试用例失败是否很常见?您的组织中运行了多少测试用例,失败的估计数量是多少? 最佳答案 您只需要在driver.findElement()之前添加一些等待。Selenium工作得非常快,这就是为什么你会得到这个陈旧的元素或元素不可见的异常。添加等待应该可以解决问题。

java - 获取结果集() "should be called only once per result"

根据documentation对于java.sql.Statement中的getResultSet,它说:RetrievesthecurrentresultasaResultSetobject.Thismethodshouldbecalledonlyonceperresult.使用一些测试代码,我运行了executeQuery()并多次调用getResultSet()并观察到返回的ResultSet指向同一个对象。所以我猜它不会返回您需要单独关闭的不同ResultSet。但当然,这可能是我的JDBC驱动程序所独有的。查看documentation对于ResultSet它说:Adefau

java - Java 中的 Groovy @Immutable 类

我经常推荐Groovy的@ImmutableAST转换作为使类不可变的简单方法。这与其他Groovy类一起工作总是很好,但最近有人问我是否可以将这些类混合到Java代码中。我一直认为答案是肯定的,但我遇到了障碍。假设我有一个不可变的User类:importgroovy.transform.Immutable@ImmutableclassUser{intidStringname}如果我使用用Groovy编写的JUnit测试来测试它,一切都会按预期进行:importorg.junit.TestclassUserGroovyTest{@TestvoidtestMapConstructor()

java - JSR303 : Trying to customize a constraint violation to be associated with a sub-path in a class-level relationship constraint validator

我正在使用JSR303并创建了一个类级别的约束,用于比较表单中的密码及其确认,我将在此处命名为@SameAs约束。理想情况下,我希望将约束与预期目标(confirmPassword)相关联,但显然封闭的bean不可用于提取密码prop。-因此是类级约束。我感兴趣地阅读了其他展示如何利用类级约束来验证关系的帖子,但找不到任何解释如何自定义约束违规以与子路径相关联的内容,在本例中为关系中的两个字段。我的问题如下:如何将违反约束的消息与“confirmPassword”字段而不是顶级对象相关联?我尝试使用javax.Validator.validate(target,context)的上下文

java - 是否有 Checkstyle/PMD 规则 "Non-abstract classes should not be named AbstractXXX"?

我正在处理的Java项目结合使用了代码分析工具:PMD、Checkstyle和FindBugs。这些发现了大量错误、样式问题等,但经常有一个漏网之鱼:publicclassAbstractBadlyNamedClass{//Notabstract!//...}注意相反的方式被检查,即publicabstractBadlyNamedClass给出PMD警告“抽象类应命名为AbstractXXX”。任何人都可以建议是否有一种方法可以检查这一点,可以使用上述工具之一(可能是某种自定义规则?)或其他可以完成这项工作的自动化工具? 最佳答案

java - 为什么 Java 需要 "This method can be called at most once in a given Java Virtual Machine"?

在静态方法URL.setURLStreamHandlerFactory的Java文档中,有一条警告“此方法在给定的Java中最多只能调用一次虚拟机”。http://docs.oracle.com/javase/7/docs/api/java/net/URL.html#setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory)简单看了下源码,URL类中有一个静态实例变量:staticURLStreamHandlerFactoryfactory;setURLStreamHandlerFactory只是将工厂分配给这个变量:pub

java - grails spock 测试失败,显示 'java.lang.IllegalArgumentException: ServletContext must not be null'

我在commandclass中有一个方法,它使用messageSource.getMessage(...),因为messageSource不会被注入(inject)到commandClass。我用defmessageSource=Holders.applicationContext.getBean("messageSource")在commandClass中。我的问题是在尝试编写单元测试这个方法时,@Beforevoidsetup(){Holders.applicationContext.getBean("messageSource")}void"testFunction"(){//i

java - 通过 JDBC 将 DDL 与 SELECT 混合时为 "ERROR: cached plan must not change result type"

我在通过JDBC使用PostgreSQL时遇到了一个有趣的问题(无法在JDBC之外重现),我得到了一个“ERROR:cachedplanmustnotchangeresulttype”重现此问题的最简单方法是使用以下代码:Connectionc=getConnection();c.setAutoCommit(true);Liststatements=Arrays.asList("createtablet(aint)","select*fromt","altertabletaddbint","select*fromt","altertabletaddcint","select*fromt

java - "error_description": "AADSTS70002: The request body must contain the following parameter: ' client_secret or client_assertion'

我使用了https://github.com/AzureAD/azure-activedirectory-library-for-java/blob/master/src/samples/public-client-app-sample/src/main/java/PublicClient.java中的代码.唯一的区别是CLIENT_ID已更新。我一直收到错误消息"error_description":"AADSTS70002:Therequestbodymustcontainthefollowingparameter:'client_secretorclient_assertion'