Java中没有结构体的概念,相应的数据结构是类,而且在Java中,类通常是通过实例化来使用的,而不是数组。Java中可以使用数组,可以通过声明一个类的数组来存储一组对象,但必须先创建对象,然后将对象添加到数组中。因此,Java中并没有批量使用结构体数组的概念。(给个关注,感谢🙏)
Java数组也是可以快捷构建,不用一个个赋值的,如代码中的数组可以定义为Phone[] arr = new Phone[]{new Phone(), new Phone(), new Phone()}
1. String userName = user.getName();
if(userName.equals("zhangsan")){} //也容易出现空指针。可以两个对换一下 比如
if("zhangsan".equals(userName)){}
再或者使用 if(StringUtils.isNotBlank(userName) && userName.equals("zhangsan"))
还有就是 单行代码的时候 if(true) return false; 可以省略{}。但是不建议使用这种的。
2、参数接收 最好使用基本类型,避免包装类型
比如 拿 Integer使用 == 比较。 -128 -- 127 范围外,直接返回 false; 不经意的错误
(因为再范围内都是 IntegerCache 内置的常量)
3、记录一个 坑
map.merge(1, 2, (x,y)-> x+ y*2);
当 map中不存在 key 为 1 的值时,期望 put 进去的值为 4
但是实际情况 获取的 value值为 2, 因为 当merge 方法执行时,如果 容器中没有该 key ,不会执行后面的方法,而是直接将 value 值放入
4、使用 lombok 注解的时候,需要注意的点
1、使用@Data 类文件生成hashcode和equals方法。hashcode和equals方法使用类声明的所有属性方法生成的(不包含继承的父类属性方法), 可以理解为 进行数据比较的时候,不会比较父类的属性值
5、记得添加无参构造,使用注解 @NoArgsConstructor,或者自己实现一下。 否则可能会报 异常