如何在Java9中更改包装类初始化?

如何在Java9中更改包装类初始化?,java,boolean,deprecated,java-9,Java,Boolean,Deprecated,Java 9,从Java9中大家都知道,包装类的大多数构造函数都不推荐使用 例如: new Boolean(true): Deprecated : Instead use Boolean.valueOf(true); new Boolean("false") : Deprecated : Instead use Boolean.parseBoolean("false"); 只是想知道,是否有任何工具或api被设计/创建来进行这些更改,或者我们需要创建自己的脚本/程序/手动更改来完成这些更改 只想编写一个s

从Java9中大家都知道,包装类的大多数构造函数都不推荐使用

例如:

new Boolean(true): Deprecated : Instead use Boolean.valueOf(true);
new Boolean("false") : Deprecated : Instead use Boolean.parseBoolean("false");

只是想知道,是否有任何工具或api被设计/创建来进行这些更改,或者我们需要创建自己的脚本/程序/手动更改来完成这些更改

只想编写一个shell脚本,它将读取目录中的所有文件,并用value of替换新的布尔值。
但我被卡住了,因为在文件读取中,我永远不知道参数类型是什么?布尔或字符串,以及在上面的示例中何时使用valueOf和parseString。

使用任何好的编辑器都可以在这里帮助您。理想情况下,您只需要一个好的查找和替换方法就可以区分
新布尔值(“false”)
新布尔值(false)

例如,使用intelliJ可以在查找
new Boolean(true)
时清楚地看到匹配的不同字符串,同时代码块也包括
new Boolean(“true”)


PS:类似的方法将使用find和replace all,同时在项目的根目录上执行相同的操作。以下是大致相同的用法。

使用IDE的RegEXP search and replace实用程序我可以使用它,但这同样不能说明应该使用valueOf还是应该使用parseBoolean。几乎不需要调用Boolean.valueOf(Boolean)。自动装箱为您做到了这一点。@VGR我说的是Boolean.parseBoolean(“true”)。这里的参数是字符串。如果您不在Windows系统上,或者您在Windows上安装了Cygwin,则可以使用
find/path/to/project-name'*.java'-exec sed-i's/new Boolean\([^)]*)\/Boolean.valueOf\1/g'{}+
来减轻负载。不过,我认为不可能使用正则表达式来匹配任意级别的嵌套括号。使用编辑器也可以。但假设我有大约500多个类,它们具有这样的包装器对象初始化。我不想手动打开编辑器中的每个类。@ArnabDhar IDE本身也有一个ReplaceAll和FindAll(给定目录路径)选项