1.ObjectUtils.isEmpty(Object object)
包名:org.springframework.util
可以用来判断object是否是null,如果是数组或者集合也会判断是否长度等于0,底层做了==null跟其它的判断处理
2.CollectionUtils.isEmpty(Collection<?> collection)
包名: org.springframework.util
参数为Collection的接口,可以对List等集合进行为null或者{}的判断,底层做的是collection == null || collection.isEmpty()的判断。
3.StringUtils.isEmpty(Object object)
包名: org.springframework.util
参数为object,用来判断传入的字符串或者其他类型的参数是否为null或者"",底层做的是str == null || "".equals(str)判断。因为参数是Object,所以可以判断如Integer类型的变量。
4.StringUtils.isEmpty(String str)
包名: org.apache.commons.lang
参数为String,用来判断传入的字符串参数是否为null或者"",底层做的是str == null || str.length() == 0的判断;同时这个包还有StringUtils.isNotEmpty(String str)方法可以判断不为空,底层是对isEmpty进行取反。因为参数是String,所以只能判断字符串。
3跟4都不能判断是否是空格串,空格串可以用5
5.StringUtils.isBlank(String str)
包名: org.apache.commons.lang
参数为str,用来判断传入的字符串或者其他类型的参数是否为null或者""或者空格串,底层除了有str == null || str.length() == 0还有对空格串的处理;同时这个包还有StringUtils.isNotBlank(String str)方法可以判断不为空,底层是对isBlank进行取反。因为参数是String,所以只能判断字符串。
6.IOUtils.copy(final InputStream input, final OutputStream output)
包名:org.apache.commons.io
参数为输入和输出流,适用于大文件的复制,减少开销。
文件下载示例写法
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
String fileName = URLEncoder.encode("示例", "UTF-8");
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
InputStream resourceAsStream = this.getClass().getClassLoader().getResourceAsStream("template/示例.xlsx");
try (BufferedInputStream inputStream = new BufferedInputStream(Objects.requireNonNull(resourceAsStream));
ServletOutputStream outputStream = response.getOutputStream())
{
IOUtils.copy(inputStream, outputStream);
}