草庐IT

extract-localizable-string-plugin

全部标签

String 对象改变时的 Java String Immutability 存储

我知道如果一个字符串是用文字初始化的,那么它会在字符串池中分配一个空间,如果用新的关键字初始化它会创建一个字符串的对象。但是我对下面写的一个案例感到困惑。我的问题是,如果使用new关键字创建一个字符串,然后使用文字更新它的值怎么办?例如Strings=newString("Value1");--Createsanewobjectinheapspace那么如果写下一条语句如下呢s="value2";所以我的问题是,1它会在字符串池中创建一个字符串文字还是会更新该对象的值?2如果它在字符串池中创建一个新文字,当前存在的对象会发生什么?它会被销毁还是会一直存在直到调用垃圾收集器。这是一个小字

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 - 如何告诉 maven-dependency-plugin 项目中使用了 artifact?

这是我的多模块项目的结构:/root/apidependencies:slf4j/foodependencies:slf4j-log4j12,log4j换句话说,模块api使用slf4j进行日志记录。它不知道日志记录工具的实现是什么。模块foo添加slf4j-log4j12和log4j以实现日志记录。很简单。现在我正在运行maven-dependency-plugin:analyze-only这就是它对模块foo的说明:[WARNING]Unuseddeclareddependenciesfound:[WARNING]org.slf4j:slf4j-log4j12:jar:1.6.1:

java - 使用 rpm-maven-plugin 的多模块 Web 应用程序示例?

有谁知道任何使用Maven构建到RPM的Web应用程序?RPMMavenPlugin提供构建到RPM的功能,但缺少文档。具体来说,我正在寻找一个包含多个模块的示例,即Chapter8.AMulti-moduleProject,来自“Maven实例”系列。只有一个模块的例子是:4.0.0com.mycompany.appmy-webappwar1.0-SOME-SNAPSHOTmy-webapphttp://maven.apache.org/opt/tomcat6${rpm.install.basedir}/webapps${rpm.install.basedir}/libjunitju

java - Liquibase 错误 [Postgresql] : unterminated dollar-quoted string at or near "$BODY$

Liquibaseerror:unterminateddollar-quotedstringatornear"$BODY$`Chaneg日志xml有一个条目:见下文包含文件="/home/dev/....../admin_script.sql"文件内容:...............CREATEORREPLACEFUNCTIONmy_schema.function-name()RETURNSsmallintAS$BODY$DECLAREv_next_gen_idsmallint:=0;BEGIN..........异常(exception):liquibase.exception.Da

java - 如何让 string.format 在编译时报错

编译器可以访问格式字符串以及所需的类型和参数。所以我假设会有一些方法来指示可变参数的缺失参数......即使只针对一部分情况。eclipse或其他ide是否有某种方式表明传递的可变参数可能会在运行时导致问题? 最佳答案 看起来FindBugs可以解决您的问题。有一些与格式字符串相关的警告类别。http://www.google.com/search?q=%2Bjava+%2Bprintf+%2Bfindbugshttp://findbugs.sourceforge.net/bugDescriptions.html#VA_FORMAT

java - 练习 : removing all string occurrences from another

我正在做一些初学者的编码练习,我遇到了这个问题:给定两个字符串,base和remove,返回一个版本的base字符串,其中remove字符串的所有实例都已被删除。(不区分大小写)。这是我目前所拥有的,但它根本不起作用。publicStringwithoutString(Stringbase,Stringremove){for(inti=0;i我还没有处理区分大小写的部分以使其对我自己更明显。我也不确定为什么我不能使用base.replaceAll("remove","");感谢您的帮助。编辑*:我犯了一个菜鸟错误,replaceAll仍然有效。此外,我如何使用循环和条件来完成此操作?会

java - 使用spring boot和spring-boot-maven-plugin生成war时排除application.properties

我正在使用SpringBoot开发Web应用程序,并希望生成war而不是jar。使用这里描述的从jar到war的转换工作得很好:http://spring.io/guides/gs/convert-jar-to-war/但我想从war中排除application.properties,因为我使用@PropertySource(value="file:${OPENSHIFT_DATA_DIR}/application.properties")获取文件路径生产环境。此方法在生成我的war时有效,但在eclipse中我无法运行我的应用程序,因为application.properties根本

java - String.split 以分号分隔

我想用分号(“;”)分割一个字符串:Stringphrase="‫;‪14/May/2015‬‬‫‪FC‬‬‫‪Barcelona‬‬‫‪VS.‬‬‫‪Real‬‬‫‪Madrid";String[]dateSplit=phrase.split(";");System.out.println("dateSplit[0]:"+dateSplit[0]);System.out.println("dateSplit[1]:"+dateSplit[1]);但它删除了“;”从字符串并将所有字符串放入'datesplit1'所以输出是:dateSplit[0]:‫dateSplit[1]:‪14/

java - List<Object> 变量赋值与其他通用列表兼容,例如 Java 中的 List<String>

最近几天我一直在努力了解Java泛型。据我了解,Java泛型不是协变的,所以List赋值与其他泛型不兼容List但是在下面的程序中,nameAndPhone.collect()方法返回List类型的列表当我替换引用变量时ListnpList与ListnpList该程序仍然可以在没有警告的情况下编译。我尝试使用类似的方法返回List同样,并使用List引用变量没有导致任何错误。为什么是List与List兼容的分配在这里?importjava.util.*;importjava.util.stream.*;classNamePhoneEmail{Stringname;Stringphone