草庐IT

my_options

全部标签

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 - Spring 3.0 MVC :Redirect without parameters being added to my url

我试图在不向我的网址添加参数的情况下进行重定向。我的意思是在重定向之后,我的url看起来像这样:.../success/?param1=xxx¶m2=xxx。这个问题和这个一模一样SpringMVCController:Redirectwithoutparametersbeingaddedtomyurl响应https://stackoverflow.com/a/16841663/384984是我正在寻找的(ignoreDefaultModelOnRedirect)。问题是我使用的是Spring3.0。我如何使用这个Spring版本解决它? 最佳答案

java - 如何在 Java 中查找 "My Documents"文件夹

我愿意在用户的“我的文档”文件夹中保存一个文件。我试过这样获取位置:System.getenv("USERPROFILE")+"\\MyDocuments\\"然后,我意识到这在语言设置为另一种语言(例如法语)的系统中不起作用。是否有另一种有效获取“我的文档”文件夹的方法? 最佳答案 关于性能,这比使用JFileChooser更快:FileSystemView.getFileSystemView().getDefaultDirectory().getPath()在我的PC中,JFileChooser方法需要300ms,而直接调用Fi

java - mvn jetty :run does not find my LoginService

我按如下方式设置了一个jetty安全领域(与mvnjetty:run一起使用)。这有效:pom.xmlorg.mortbay.jettyjetty-maven-pluginsrc/test/resources/jetty-test.xmltruejetty-test.xmlMySecurityRealmsrc/test/resources/jetty-realm.propertiestrue然后我尝试删除对jetty-test.xml文件的需求,如下所示:pom.xmlorg.mortbay.jettyjetty-maven-pluginsrc/test/resources/jetty

java - 欧拉计划 #14 : Why is my TreeMap algorithm slower than brute force?

背景:我几年前在学校里第一次学习C++和Java,但在过去的9年左右时间里我没有做过太多编程,因为我以前的职业不需要它。我决定研究ProjectEuler以温习我的编程并解决了问题14,该问题要求找到最长Collat​​z序列的1到100万之间的整数。(Collat​​z序列继续进行,给定一个起始数字,将该数字乘以3,如果是奇数则加1,如果是偶数则将其减半。该过程一直持续到数字达到1。)我首先使用蛮力解决了这个问题,如下面的代码所示。intn;longtemp;//longisnecessarysincesomeCollatzsequencesgooutsidescopeofintin

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(