一、基本数据类型传参问题
public static void main(String[] args) throws Exception {
Integer number = null;
method01(number);
}
private static void method01(int number){
System.out.println("number = " + number);
}
Ps: 基于int基本数据类型传参的时候,如果是传递的null值,程序运行时会抛出空指针异常,不会把null做转换处理。
Exception in thread "main" java.lang.NullPointerException
at com.example.springboot2.config.CodeTest.main(CodeTest.java:7)
二、Json请求体布尔基本数据类型
@Data
public class PageComponentMakeVO {
private Integer pageId;
private List<Integer> targetComponentEnumId;
private Integer appendComponentEnumId;
private Integer position;
private Boolean isIndependentLayout;
private Boolean isIgnoreAppendComponentExists;
private Boolean isDeleteAppendComponent;
}
如果使用@RequestBody注解接收请求体中的数据,如果属性类型是boolean类型,则在传参时,应为去掉is,且首字母变为小写。
{
"pageId":11854,
"appendComponentEnumId":37,
"independentLayout":true,
"ignoreAppendComponentExists":false,
"deleteAppendComponent":true
}
三、List集合移除元素问题
remove方法支持2个重载,在基于int下标删除时,必须为基本数据类型,如果是引用数据类型的Integer,会被编译器判定为Object删除的重载方法。
public static void main(String[] args) throws Exception {
List<Date> dateList = new ArrayList<>();
dateList.add(new Date());
dateList.add(new Date());
dateList.add(new Date());
dateList.add(new Date());
Integer removeIndex = 2;
dateList.remove(removeIndex);
}