当前位置: 首页 > 面试题库 >

为什么在字符串输出中出现空值?

陆俭
2023-03-14
问题内容

当我执行以下代码时,输​​出为“ nullHelloWorld”。Java如何处理null?

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        String str=null;
        str+="Hello World";
        System.out.println(str);
    }
}

问题答案:

您正在尝试将值连接到null。这由“字符串转换”控制,当一个操作数是a时发生,该转换String被JLS的5.1.11节覆盖:

现在只需要考虑参考值:

  • 如果引用为null,则将其转换为字符串“ null”(四个ASCII字符n,u,l,l)。



 类似资料:
  • 问题内容: 这让我感到很奇怪,我花了一段时间检查代码中的错误之后才发现这一点。 “将副本从数据库表或视图复制到文件。如果指定现有文件,则该文件将被覆盖。提取数据时,请注意bcp实用程序将空字符串表示为null,并将空字符串表示为空字符串。 ” (来自http://msdn.microsoft.com/en- us/library/ms162802.aspx ) 显然,这可以解决我的问题,但是有人可

  • 我是java初学者,我对上述程序的输出感到困惑。请给我解释一下输出的原因。

  • 所以我们将html存储在数据模型中。我需要将其输出到freemarker模板中: 例子: 我尝试过[#noescape],但它抛出了一个错误,说没有逃逸障碍。请参阅FREEMARKER:避免转义HTML字符。这个解决方案对我不起作用。

  • 我在Linux中使用的Java版本是: OpenJDK版本“16.0.2”2021-07-20 OpenJDK运行时环境(构建16.0.2+7) OpenJDK 64位服务器VM(构建16.0.2+7,混合模式) 这是我从Head-First Java书中编译的代码: 为什么那个特殊字符(%)会出现在字符串的末尾,我如何编写代码来去掉它?

  • 问题内容: 我们注意到,用C#(或Java)开发的软件中的许多错误都导致NullReferenceException。 为什么在语言中甚至包含了“ null”? 毕竟,如果没有“ null”,那么我就不会有错误,对吧? 换句话说,如果没有null,该语言的什么功能将无法正常工作? 问题答案: “ C#父亲” Anders Hejlsberg在他的《计算机世界》采访中谈到了这一点: 例如,在类型系统

  • 《 C++ cout.put()》一节中,讲解了 ostream 类提供的 put() 成员方法的用法,其用于向输出流缓冲区中添加要输出的单个字符。而在某些场景中,我们还需要输出指定的字符串,这时可以使用 ostream 类提供的 write() 成员方法。 write() 成员方法专用于向输出流缓冲区中添加指定的字符串,初学者可以简单的理解为输出指定的字符串。其语法格式如下: ostream&w