为对象的String类型赋值,避免为null。

public class InitObjectUtil {

    public static void initStringFieldIfNull(Object obj, String target){
        Class<?> aClass = obj.getClass();
        Field[] declaredFields = aClass.getDeclaredFields();
        for (Field declaredField : declaredFields) {
            if(declaredField.getType() == String.class ){
                declaredField.setAccessible(true);
                try {
                    if(declaredField.get(obj) == null){
                        declaredField.set(obj, target);
                    }
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

这里mybatis 使用的动态sql语句,判断如果字段为空不对此字段进行修改,因此在页面用户修改原来数据,前端又没有进行传值得时候,属性会为空,为了避免这种情况,我们对其进行初始化赋值。
方法也可以扩展一下,对各种属性赋默认值。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]和\[2\]中提到,将指向NULL的char型指针赋值string对象会导致段错误。这是因为NULL指针并不指向任何有效的内存空间,而string对象需要有效的内存空间来存储字符串。因此,将NULL赋值string对象会导致访问无效的内存地址,从而引发段错误。引用\[3\]中提到,虽然有时候可以将不使用的对象手动赋值null,但这并不是一个普遍适用的规则,也不应过度依赖这种做法。所以,在C++中,将NULL赋值string对象是不被推荐的做法。 #### 引用[.reference_title] - *1* [c++中给string对象赋值null会导致程序崩溃](https://blog.csdn.net/m0_37876242/article/details/124339366)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [C++ 给string对象赋值指向NULL的char型指针变量问题](https://blog.csdn.net/sj_djw/article/details/104818373)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Java中当对象不再使用时,不赋值null会导致什么后果 ?](https://blog.csdn.net/sihai12345/article/details/109465567)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值