Java 是否可以配置字符串生成器,使append函数在append之前不会将数据转换为字符串

Java 是否可以配置字符串生成器,使append函数在append之前不会将数据转换为字符串,java,jakarta-ee,Java,Jakarta Ee,StringBuilder不会追加NULL,但如果对象(您要追加的对象)为NULL,则会将其转换为字符串,然后追加。是否可以更改某些配置,使append函数不会将NULL转换为字符串?您可以创建自己的实用程序类来追加任何值,并在追加之前检查NULL值 StringBuffer.append()方法的作用是什么?此行为没有此类配置 下面也会提到: public AbstractStringBuilder append(String str) { if (str == null) str =

StringBuilder不会追加NULL,但如果对象(您要追加的对象)为NULL,则会将其转换为字符串,然后追加。是否可以更改某些配置,使append函数不会将NULL转换为字符串?

您可以创建自己的实用程序类来追加任何值,并在追加之前检查
NULL

StringBuffer.append()方法的作用是什么?此行为没有此类配置

下面也会提到:

public AbstractStringBuilder append(String str) {
    if (str == null) str = "null";
    int len = str.length();
    if (len == 0) return this;
    int newCount = count + len;
    if (newCount > value.length)
        expandCapacity(newCount);
    str.getChars(0, len, value, count);
    count = newCount;
    return this;
}

null与空字符串不同。空字符串仍然是字符串对象

从方法的文档中:

在执行追加操作之前,数据将转换为字符串

是否可以更改某些配置,使append函数不会将NULL转换为字符串


在最终类中重写方法是不可能的。而
append()
不是对象中的方法,它在
java.lang.String

中,您可以在附加到StringBuilder之前检查对象是否为null。如果为null,则只需附加一个空字符串(“”);