不同类型的字段、集合list/set/map、对象如何判空null

String型:stringutils.isblank("xxx")

可判断是否为 null,是否为 "",是否为空字符串(引号中间有空格) 如: " "

Object型: objects.isNull(User)和objects.nonNull(User)

可以对对象做判空,相当于user==null,Java8中引入了lambda后,因此出现很多这样filter(Objects::isNull)这样的写法,显然比filter(x -> x == null). 方法更直观。

List/Set型:CollectionUtils.isEmpty()和CollectionUtils.isNotEmpty

方法可以检查null和长度为0的list/set

 Map型:MapUtils.isEmpty(map)和MapUtils.isNotEmpty(map)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将一组List<Map>对象以dbf文件方式导出,可以使用JavaDBF库。可以先下载JavaDBF库的jar包,并将其添加到项目中。然后可以使用以下代码将List<Map>对象导出为dbf文件: ```java import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.nio.charset.Charset; import java.util.List; import java.util.Map; import com.linuxense.javadbf.*; public class DBFWriter { public static void main(String[] args) { // List<Map>对象 List<Map<String, Object>> dataList = getDataList(); // dbf文件路径 String filePath = "example.dbf"; // 字段名数组 String[] fieldNames = getFieldNames(dataList); // 字段类型数组 DBFField[] fields = getFields(dataList); // 写入dbf文件 writeDBF(filePath, fieldNames, fields, dataList); } public static List<Map<String, Object>> getDataList() { // 从数据库或其他数据源获取数据 // 省略... return dataList; } public static String[] getFieldNames(List<Map<String, Object>> dataList) { // 获取字段名数组 String[] fieldNames = null; if (dataList != null && !dataList.isEmpty()) { Map<String, Object> data = dataList.get(0); fieldNames = new String[data.size()]; int i = 0; for (String fieldName : data.keySet()) { fieldNames[i++] = fieldName; } } return fieldNames; } public static DBFField[] getFields(List<Map<String, Object>> dataList) { // 获取字段类型数组 DBFField[] fields = null; if (dataList != null && !dataList.isEmpty()) { Map<String, Object> data = dataList.get(0); fields = new DBFField[data.size()]; int i = 0; for (String fieldName : data.keySet()) { Object value = data.get(fieldName); DBFField field = new DBFField(); field.setName(fieldName); if (value instanceof Integer) { field.setDataType(DBFField.FIELD_TYPE_N); field.setFieldLength(10); } else if (value instanceof Double) { field.setDataType(DBFField.FIELD_TYPE_F); field.setFieldLength(10); field.setDecimalCount(2); } else { field.setDataType(DBFField.FIELD_TYPE_C); field.setFieldLength(String.valueOf(value).getBytes().length); } fields[i++] = field; } } return fields; } public static void writeDBF(String filePath, String[] fieldNames, DBFField[] fields, List<Map<String, Object>> dataList) { DBFWriter writer = null; try { // 创建dbf文件 writer = new DBFWriter(new FileOutputStream(new File(filePath)), Charset.forName("GBK")); // 设置字段名和类型 writer.setFields(fields); // 写入每一条记录 for (Map<String, Object> data : dataList) { Object[] rowValues = new Object[fieldNames.length]; for (int i = 0; i < fieldNames.length; i++) { rowValues[i] = data.get(fieldNames[i]); } writer.addRecord(rowValues); } } catch (DBFException | IOException e) { e.printStackTrace(); } finally { if (writer != null) { try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } } } } ``` 其中,getDataList()方法可以从数据库或其他数据源获取数据,getFieldNames()方法获取字段名数组,getFields()方法获取字段类型数组。通过遍历每条记录,将数据写入dbf文件中。最后生成的dbf文件名为example.dbf,可以根据实际情况修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值