gpt4 book ai didi

java - Java中null到string的转换

转载 作者:行者123 更新时间:2023-12-01 23:16:48 25 4
gpt4 key购买 nike

今天我在遗留代码中发现了一个错误,这让我有了一个令人震惊的发现:

String s = null + ""; //results in "null" string
s = String.valueOf(null); // NullPointerException is thrown
Integer i = null;
s = String.valueOf(i); //results in "null" string

第一个问题是:为什么会发生这种意外的行为?
这意味着像这样的方便代码:

String age = person.getAge() + "";

完全出乎意料。
第二个问题:获取 null 而不是“null”的最佳(最优雅)方法是什么

最佳答案

String.valueOf(null) 由于方法重载解析规则 (char[]) 调用 public static String valueOf(char data[]) > 比 Object 更具体)。该方法针对 null 参数抛出 NullPointException

String.valueOf(i) 调用 public static String valueOf(Object obj),它为 String“null”返回 参数。

要避免此异常,请不要调用 s = String.valueOf(null);(您始终可以直接分配 s = "null";,或者将 null 值转换为 char[] 以外的某种类型(例如 s = String.valueOf((String)null);)。

关于java - Java中null到string的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47619413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com