Cannot invoke “com.itextpdf.io.font.otf.Glyph.getWidth()“ because “glyph“ is null

网上有一些解决的方法,但症结不一样

系统环境 springboot + itextpdf 9,开发环境正常,打包成jar运行报错

最终错误发生在一个小小的符号上

    Builder’s profile, including

    Builder's profile, including

上面的报错,下面的没有问题。不知所错。

当值为 `null` 时无法调用 `String.equals(Object)` 方法,因为调用该方法的对象不能为 `null`,否则会抛出 `NullPointerException`。可以使用以下几种解决方案: ### 方案一:使用条件判断避免 `null` 调用 在调用 `equals` 方法之前,先检查调用对象是否为 `null`。 ```java public class Main { public static void main(String[] args) { String str1 = null; String str2 = "abc"; if (str1 != null && str1.equals(str2)) { System.out.println("两个字符串相等"); } else { System.out.println("两个字符串不相等"); } } } ``` 上述代码在调用 `equals` 方法前,先对 `str1` 进行了非空检查,避免了 `NullPointerException`。 ### 方案二:使用 `Objects.equals` 方法 `java.util.Objects` 类中的 `equals` 方法可以处理 `null` 值,该方法内部会对两个参数进行 `null` 检查。 ```java import java.util.Objects; public class Main { public static void main(String[] args) { String str1 = null; String str2 = "abc"; if (Objects.equals(str1, str2)) { System.out.println("两个字符串相等"); } else { System.out.println("两个字符串不相等"); } } } ``` `Objects.equals` 方法会判断两个参数是否相等,并且可以处理 `null` 值,避免了手动进行 `null` 检查。 ### 方案三:确保调用对象不为 `null` 在使用时,确保调用 `equals` 方法的对象不为 `null`,将可能为 `null` 的对象作为参数传入。 ```java public class Main { public static void main(String[] args) { String str1 = null; String str2 = "abc"; if ("abc".equals(str1)) { System.out.println("两个字符串相等"); } else { System.out.println("两个字符串不相等"); } } } ``` 将已知不为 `null` 的字符串作为调用 `equals` 方法的对象,将可能为 `null` 的字符串作为参数传入,避免了 `NullPointerException`。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值