草庐IT

assert_options

全部标签

java - 如何抑制 "Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar"消息

我使用的是Ubuntu15.04和Java1.7。更新到15.04后,每当我键入任何Java命令时,我都会收到如下消息:PickedupJAVA_TOOL_OPTIONS:-javaagent:/usr/share/java/jayatanaag.jar例如:hduser@ubuntu:~$java-versionPickedupJAVA_TOOL_OPTIONS:-javaagent:/usr/share/java/jayatanaag.jarjavaversion"1.7.0_21"Java(TM)SERuntimeEnvironment(build1.7.0_21-b11)Jav

java - 使用 Java 8 Optional 实现安全的 Map 遍历

我有Map>myMap在我的Java8类(class)中。我需要导航到像myMap['keyA']['keyB']这样的叶字符串,返回null如果'keyA'或'keyB'在相关map中不存在。在groovy中我会使用myMap?.keyA?.keyB并完成它。我了解Java8的Optional将类似的行为带入java。有没有办法使用这种新行为来简洁地模仿groovy功能​​?如果不是,是否有另一种简洁的方法可以在Java8中实现这种行为,或者我是否仍然坚持使用复杂的过程代码? 最佳答案 StringvalueOrNull=Opti

java - JAVA_OPTS 和 JAVA_TOOL_OPTIONS 之间的区别?

什么时候应该使用这些环境变量? 最佳答案 JAVA_TOOL_OPTIONS被一些JDK工具读取,但适用性有限。JAVA_OPTS是ApacheTomcat和其他一些应用程序使用的约定,但不是由Sun/Oracle、AFAIK发布的任何JDK工具直接读取。来自:https://forums.oracle.com/forums/thread.jspa?messageID=6438415JAVA_OPTSisnotanenvironmentvariablethatthejavaexecutablewillrecognizeonit'so

java - 仅当 Optional 存在时才解包

所以目前我有Stringuri=website.getUri();OptionalpageDetail=webClient.getDetailOfUri(uri);StringdisplayName;Stringdescription;if(pageDetail.isPresent()){displayName=pageDetail.get().getName();description=pageDetail.get().getDescription();}else{displayName=uri;description="";}我调用getDetailOfUri(uri)方法,返回O

java - 什么时候应该使用 Apache Commons 的 Validate.isTrue,什么时候应该只使用 'assert' 关键字?

什么时候应该使用ApacheCommons的Validate.isTrue,什么时候应该只使用'assert'关键字? 最佳答案 Validate.isTrue和'assert'的用途完全不同。断言Java的断言语句通常用于记录(通过断言)在什么情况下可以调用方法,以及他们的来电者之后可以期望是真的。断言可以可选地在运行时检查,导致AssertionError如果它们不成立则异常(exception)。在契约设计方面,断言可以用来定义前置条件和后置条件以及类不变量。如果在运行时检测到这些不成立,这指向设计或实现系统问题。验证.isT

java - JUnit assertion methods应该写成肯定的还是否定的?

我应该写吗assertTrue("用户登录",user.isLoggedIn());或者assertTrue("用户未登录",user.isLoggedIn());前者提供更好的源文件内部阅读:“我断言以下内容为真:用户已登录。”可以通过两种方式读取错误消息:java.lang.AssertionError:用户登录“断言用户已登录时出错”“错误是用户已登录。”JUnit文档没有提供明确的指南,但确实如此“{@linkAssertionError}的识别消息”,在这两种情况下,文本都标识了正在运行的测试。常见的用法是什么? 最佳答案

java - 在单行中调用 Optional#isPresent() 被报告为未调用

我运行SonarQube来检查我的代码,我发现了一个我不理解所报告错误的情况。我的代码是:privatestaticfinalintBASE_ID=100_000_000;privatebooleanisValidId(Idid){returnid.asInteger().isPresent()&&id.asInteger().get()>=BASE_ID;}方法asInteger返回Optional我从sonarqube得到的错误是Call"Optional#isPresent()"beforeaccessingthevalue.在返回行中。我知道代码可以作为if的第二部分如果第一个

java - 为什么 Java Optionals 是不可变的?

我想了解为什么Java8Optionals被设计成不可变的。它只是为了线程安全吗? 最佳答案 Optionals用于传递东西。如果您将某样东西送给某人然后更改其内容,他们会非常惊讶,而且不是很好。 关于java-为什么JavaOptionals是不可变的?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/34553034/

java - 如何在 Java 8 中用定界符连接两个 Optional<String>

我有两个可选字符串,name1和name2。我想加入这两个结果也是一个可选的:如果其中一个非空,则结果应该是非空名称。如果两者都不为空,我希望结果与分隔符AND连接。如果两者都为空,则结果应该为空可选我的尝试:StringBuildersb=newStringBuilder();name1.ifPresent(sb::append);name2.ifPresent(s->{if(sb.length()>0){sb.append("AND");}sb.append(s);}OptionaljoinedOpt=Optional.ofNullable(Strings.emptyToNull(

java - Java 8 Optional中flatMap的签名

在oracledocs,它似乎是OptionalflatMap(Function>mapper)对于mapper作为Function,它使参数逆变但不使返回类型协变。我想知道mapper是否可以(应该)是Function>或Function>? 最佳答案 首先,IMO,因为U绑定(bind)到方法本身而不是类Optional还有Optional是final,当前签名应该可以正常工作。如果上述两个条件中的任何一个不成立,则可以应用更改。感谢link由@MalteHartwig提供。让我总结一下这个特定问题的答案。很明显,如果返回类型需