对于string类型的不同长度的数据调用substring函数时避免空指针报错

在项目中进行lucene进行全文搜索时,搜索到的内容展示出来的有标题(title)和部分内容(content)展示,但是content中的内容不同的文件显示的长度各不相同,这时我想到对于string 类型的content展示的时候进行截取,用string类型自带的substring(int start,int end)函数来截取,即String content = doc.get("content").substring(0,100)。但是运行的时候报出了空指针错误。

后来查找后发现有些content的内容长度只有5,有的只有20等等各不相同,所以我想对第二个参数做一个判断来选择合适的参数,于是我在第二个参数上用了一个三元操作符判断来选择合适的参数,即String content = doc.get("content").substring(0, doc.get("content").length()<150 ? doc.get("content").length() : 150);运行后没有再报空指针错误,搜索成功。


版权声明:本文为James23vs24原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。