在项目中进行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);运行后没有再报空指针错误,搜索成功。