Java String转换时为null的解决方法
作者:随便 发布时间:2022-08-25 08:16:00
开发中经常遇到从集合类List、Map中取出数据转换为String的问题,这里如果处理不好,经常会遇到空指针异常java.lang.NullPointerException,在此总结一下常用转换为String的方法,以及转换后如何对其进行判null使用的问题。
Java中对象转换为String的常用方法:
方法一:String objStr = (String) obj
:
强制类型转换,对象obj为null,结果也为null,但是obj必须保证其本质是String类型的值,即可转换的值。
例如,不能强制转换 (String) 123
方法二:String objStr = obj.toString()
:
调用对象的toString方法,必须保证本类或者父类已经重写了Object类的toString方法,如果没有重写toString方法,
将默认调用Object类的toString方法,返回getClass().getName() + '@' + Integer.toHexString(hashCode())
,
并不是obj的实际字符串表示,同时还必须保证对象obj不能为null,否者调用toString方法会报空指针异常java.lang.NullPointerException
。
方法三:String objStr = String.valueOf(obj):
对象obj为null,转换结果为字符串"null",否则,返回 obj.toString()
的值。
注意,如果为obj为null,这里转换后的值已经是字符串的“null”,判空不能再用 obj == null
,也不能使用apache.commons.lang3
下的StringUtils.isBank(CharSequence cs)
,而应该用 str.equals("null")
。
已经知道obj为String类型的情况下:
使用方法1转换为String,转换为String后判null条件为:if (objStr != null)
慎用方法2
对于不知道具体类型的情况下,可以使用方法3,只是转换后String的判null条件改为:if (!objStr.equals('null'))
以上所述是小编给大家介绍的Java String转换时为null的解决方法网站的支持!
来源:http://www.cnblogs.com/chenhao-/archive/2017/07/06/7125324.html


猜你喜欢
- 本文实例讲述了C#对图片文件的压缩、裁剪操作方法,在C#项目开发中非常有实用价值。分享给大家供大家参考。具体如下:一般在做项目时,对图片的处
- 介绍ScrollView(滚动条),它有两种“滚动条”:竖直滚动条;水平方向上的滚动条:Horizo
- 实例如下:package com.ljq.util;import java.beans.BeanInfo;import java.beans
- SSM@Controller,@Service本质都是@Component,作用是new对象放到Spring容器里。controller层@
- 前面我们讲到了Spring在进行事务逻辑织入的时候,无论是事务开始,提交或者回滚,都会触发相应的事务事件。本文首先会使用实例进行讲解Spri
- 目录I. 项目环境1. 项目依赖II. 缓存注解介绍1. @Cacheable2. @CachePut3. @CacheEvict4. @C
- 在java中类之间也是有着继承关系的,就我们之前有提到不少父类与子类的一些问题。 讲的以子类的调用为主,那么有小伙伴知道父类的调用方法吗?这
- QueryWrapper 添加limit其实是在sql的最后加上 limit 相关的语句。QueryWrapper wrapper = ne
- Java中多态性的实现什么是多态面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念
- 要爬取一个网站遇到了极验的验证码,这周都在想着怎么破解这个,网上搜了好多知乎上看到有人问了这问题,我按照这思路去大概实现了一下。1.使用ht
- 在Android开发当中,经常需要用到定位功能,尤其是依赖于地理位置功能的应用,本文介绍了Android通过原生APi获取所在位置的经纬度,
- 本文介绍了Android:利用SharedPreferences实现自动登录,具体如下:主要代码:public class LoginAct
- 前言我们通常使用Spring boot做项目搭建的基础框架,必然少不了它的内置日志框架Logback,在spring-boot-starte
- 拒绝策略介绍线程池的拒绝策略,是指当任务添加到线程池中被拒绝,而采取的处理措施。当任务添加到线程池中之所以被拒绝,可能是由于:第一,线程池异
- 本文实例为大家分享了C#使用Socket实现本地多人聊天室的具体代码,供大家参考,具体内容如下【脚本一:Server端】使用本机地址:127
- 添加方法:选择项目->引用->右击“添加引用”->选择COM 找到上面组件—>点击“确定”。实现代码如下: 
- 一、注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan、@Configur
- 1、 尽量指定类的final修饰符 带有final修饰符的类是不可派生的。 如果指定一个类为final,则该类所有的方法都是final。Ja
- 引言在实际的Android项目开发中,图片是必不可少的元素,几乎所有的界面都是由图片构成的;像列表页、查看大图页等,都是需要展示图片,而且这
- AnyChat(全名叫Anychat SDK),也叫音视频互动开发平台;是一套跨平台的即时通讯解决方案,基于先进的H.264视频编码标准、A