分享几个写简洁java代码的小技巧

网友投稿 229 2022-08-26


分享几个写简洁java代码的小技巧

目录1.定义配置文件信息2.用@RequiredArgsChttp://onstructor代替@Autowired3.不要返回null4.ifelse5.减少controller业务代码6.将字符串数组转换成逗号分隔字符串总结

1. 定义配置文件信息

有时候我们为了统一管理会把一些变量放到 yml 配置文件中

例如

用 @ConfigurationProperties 代替 @Value

使用方法

定义对应字段的实体

@Data

// 指定前缀

@ConfigurationProperties(prefix = "developer")

@Component

public class DeveloperProperty {

private String name;

private String website;

private String qq;

private String phoneNumber;

}

使用时注入这个bean

@RestController

@RequiredArgsConstructor

public class PropertyController {

final DeveloperProperty developerProperty;

@GetMapping("/property")

public Object index() {

return developerProperty.getName();

}

}

2. 用@RequiredArgsConstructor代替@Autowired

我们都知道注入一个 bean 有三种方式哦(set 注入, 构造器注入, 注解注入),Spring 推荐我们使用构造器的方式注入 Bean

我们来看看上段代码编译完之后的样子

RequiredArgsConstructor:lombok提供

3. 不要返回 null

反例

正例

别处调用方法时,避免不必要的空指针

optional 判空

//获取子目录列表

phttp://ublic List getChild(String pid) {

if (V.isEmpty(pid)) {

pid = BasicDic.TEMPORARY_DIRECTORY_ROOT;

}

CatalogueTreeNode node = treeNodeMap.get(pid);

return Optional.ofNullable(node)

.map(CatalogueTreeNode::getChild)

.orElse(Collections.emptyList());

}

4. if else

不要太多了if else if,可以试试策略模式代替

5. 减少controller业务代码

业务代码尽量放到service层进行处理,后期维护起来也好操作而且美观

反例

正例

6.将字符串数组转换成逗号分隔字符串

通常会这么写:

public static void main(String[] args) {

String strs = "";

String[] arr = new String[]{"aa", "cc", "bb"}; // 转换前的字符串数组

StringBuilder sb = new StringBuilder();

http:// for (String ele : arr) {

if (sb.length() > 0) {

sb.append(",");

}

sb.append(ele);

}

strs = sb.toString(); // 转换后的逗号分隔字符串

System.out.println(strs);

}

更简单的写法:

public static void main(String[] args) {

String[] arr = new String[]{"aa", "cc", "bb"}; // 转换前的字符串数组

String strs = String.join(",", arr); // 转换后的逗号分隔字符串

System.out.println(strs);

}

总结


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Django中模型类 属性-学习笔记(django模板变量)
下一篇:项目完成(项目完成总结报告)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~