草庐IT

always_false

全部标签

java - SonarQube 声明对于使用 "this."访问的字段始终评估为 false 的条件

这似乎是“条件执行的block应该是可访问的”规则误报的新示例(squid:S2583)。有谁知道为什么SonarQube声称if(this.x==0)在以下Java类中总是求值为false?publicclassMyClass{privatelongx;voidsetX(longx){this.x=x;}publicvoiddecrementX(){if(this.x>0){this.x--;if(this.x==0){//很明显,变量x可以设置为1,然后decrementX()将进入那个确切的条件:@TestpublicvoidtestDecrement(){MyClassc=ne

Java Swing dispose() 与 setVisible(false)

我有一个独立的Java应用程序,它从数据库中获取数据并将其显示在JTable中。当应用程序启动时,系统会在JDialog中提示用户输入用户名/密码。输入正确的凭据后,将显示包含数据的主JFrame。在主JFrame上,我有一个注销按钮,单击该按钮时,应关闭主JFrame并重新显示登录JDialog。除了我发现单击注销按钮时主JFrame不会消失外,一切都正常。下面是我的代码的一个小示例:主.java:importjavax.swing.SwingUtilities;publicclassMain{publicstaticvoidmain(String[]args){SwingUtili

java - 设置-XX :+PerfDisableSharedMem JVM flag to false 的效果

我提到了这个GC暂停issue;它建议将-XX:+PerfDisableSharedMemJVM标志设置为false。我的问题是当我们将此标志设置为false时会发生什么, 最佳答案 那么/tmp/hsperfdata*就不写了。其中,根据hotspot-runtime-dev讨论,将阻止一些性能监控命令行工具自动发现正在运行的虚拟机。如果明确指定PID,它们仍然可以附加到正在运行的进程。 关于java-设置-XX:+PerfDisableSharedMemJVMflagtofalse的

java - 为什么 JAXB generateElementProperty=false 没有达到预期的效果?

我正在使用以下绑定(bind)文件运行wsimport任务:但是,这会产生带有JAXBElement的类而不是String如getUserSummaryOrTypeOrLogLevel()所示下面@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name="ConfigSLMAction",propOrder={"userSummaryOrTypeOrLogLevel"})publicclassConfigSLMActionextendsConfigConfigBase{@XmlElementRefs({@XmlElementRef(name=

java - 为什么? "Always declare user defined exceptions as final"

我使用Java源代码分析器分析了我正在处理的代码。其中一条警告是“始终将用户定义的异常声明为最终异常”。还有许多其他没有多大意义的警告,但这个警告让我有点困惑。我正在开发一个框架,我有一个根通用异常(比如FrameworkGenericException),对于其他异常,我只是从根异常中派生它们。所以我有一个框架的异常层次结构。我可能会扩展层次结构,但我认为这个警告告诉我不要有这样的层次结构,而是单独定义它们。那么我应该走哪条路,你有什么意见? 最佳答案 这可能是他们的标准做法:如果类不应该被继承,则将类声明为final,而且他们可

java - JTextArea 显示 Caret 而 setEditable 为 false

如何在禁用setEditable的情况下将Caret放在JTextArea中?当我需要插入符可见时的示例代码:publicvoidrun(){JFrameframe=newJFrame();JTextAreatext=newJTextArea();text.setEditable(false);Stringline="addedline";text.append(line);text.setCaretPosition(text.getCaretPosition()+line.length());frame.getContentPane().add(text);frame.setSize

java - 算法或 SQL : to find where conditions for a set of columns which ensures result set has value in a particular column always > 0

我正在从事一个基于java-oracle的项目,在这个项目中我遇到了一个问题,在我看来这个问题需要一个分析解决方案。我正在寻找基于SQL查询或任何算法或任何免费分析工具的解决方案,我可以按照这些工具获得所需的结果。问题陈述:假设我有下面的表,其中A-D列和最后一列作为Score,我想为每个列找到一个值标准,当在SQLwhere子句中组合时,该标准将始终为Score列提供正值。那么基本上A-D列的哪种组合总能给我正分?columnA|columnB|columnC|columnD|Score140103-200402310010332011533-501022-1501563-10上述数

java - 如何将 Spring @Autowired 所需的属性设置为 false 以进行测试?

到目前为止,我一直在使用@Required注释来确保我的bean在Spring配置的应用程序中的DI。要启用注释,您需要在配置中声明一个RequiredAnnotationBeanPostProcessorbean。在您的测试配置中,您只是不声明它,因此如果不需要某些bean,您就不必在配置中包含它们。我想切换到更少的XML并使用@Autowired注释,但默认情况下required=true,这对于运行时配置来说很好。但我需要@Autowired被required=false仅用于测试目的-同时保持它在运行时是必需的。这可能吗?我找不到以声明方式将所需属性变为false的方法。干杯

Java-TestNG : Why does my Assertion always passes when written within try-catch block

我正在尝试使用org.testng.Assert的简单代码来断言2个用例。在第一个用例中,我断言了2个不相等的值,它们Fail正确。但是在第二个用例中,当我在try-catchblock中断言2个不相等的值时,结果总是返回为Pass我的代码如下:packagedemo;importorg.testng.Assert;importorg.testng.annotations.Test;publicclassQ43710035{@Testpublicvoidtest1(){System.out.println("Withintest1");inta=12;intb=20;Assert.as

java - <c :if test ='${not empty "${records }"}' > never evaluates false

我在使用JSTL和空运算符时遇到问题。我已经制作了几个简单的页面并且一切正常,但现在我有:ArtistRecordNameDelete${item.artist}${item.recordName}现在无论我是否设置记录属性,都会显示删除按钮:在记录属性的正常情况下,我传递ArrayList然后使用foreach,但有时ArrayList是空的,所以在那些情况下我不想显示删除按钮,我争取实现这一点的最简单方法是使用这个空运算符。我哪里出错了?我什至尝试手动将此属性设置为空:if(ar.size()!=0)request.setAttribute("records",ar);elsere