Bas*_*que 5 java intellij-idea parameter-passing auto-generate notnull
IntelliJ 2018 中是否有一种方法可以自动生成检查任何参数中传递的空值的代码行?
\n\n我希望 IntelliJ 改变这一点:
\n\n// ----------| Constructor |-----------------------------------\npublic DailyProduct ( LocalDate localDate , String name , Integer quantity ) {\n this.localDate = localDate;\n this.name = name;\n this.quantity = quantity;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n\xe2\x80\xa6 到此:
\n\n// ----------| Constructor |-----------------------------------\npublic DailyProduct ( LocalDate localDate , String name , Integer quantity , BigDecimal quality , BigDecimal realmq , BigDecimal cost ) {\n Objects.requireNonNull( localDate ); // \xe2\xac\x85 Generate these checks for null values.\n Objects.requireNonNull( name );\n Objects.requireNonNull( quantity );\n\n this.localDate = localDate;\n this.name = name;\n this.quantity = quantity;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n如果 IntelliJ 可以编写所有参数到成员的分配并使用Objects.requireNonNull
. 所以这:
// ----------| Constructor |-----------------------------------\npublic DailyProduct ( LocalDate localDate , String name , Integer quantity , BigDecimal quality , BigDecimal realmq , BigDecimal cost ) {\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n\xe2\x80\xa6 会变成这样:
\n\n// ----------| Constructor |-----------------------------------\npublic DailyProduct ( LocalDate localDate , String name , Integer quantity ) {\n this.localDate = Objects.requireNonNull( localDate ); // \xe2\xac\x85 Generate all these lines entirely.\n this.name = Objects.requireNonNull( name );\n this.quantity = Objects.requireNonNull( quantity );\n}\n
Run Code Online (Sandbox Code Playgroud)\n
您可以尝试以下操作:
在“设置/实时模板”中创建一个新的实时模板
使用 [编辑变量] 定义 $content$ 变量:
使用以下 groovyScript:
groovyScript("def params = _1.collect { 'this.' + it + ' = Objects.requireNonNull(' + it + ');' }.join(); params", methodParameters());
现在当你使用缩写时
你应该得到以下内容
如果有帮助请告诉我。
归档时间: |
|
查看次数: |
730 次 |
最近记录: |