java - main()方法中的java args数组混淆(null检查)

标签 java

这个问题已经有了答案:
Args guaranteed to be non-null?
3个答案
我有点困惑。我写了一个小代码片段。

import java.util.*;
class AA
{
  public static void main(String args[])
  {
     if(args == null )
     {
          System.out.println("I am null");
     }
     else{
           System.out.println(args);
      }
 }
 }

这是一个简单的测试。尽管我没有从命令行传递任何信息
as参数但仍为参数不为空,这意味着JVM将其初始化为
类似于字符串数组。为什么有什么具体的原因?我很好奇
要知道。任何提示都是有用的。
谢谢,

最佳答案

当您不传递任何内容时,args不是null-它是空的:

 if(args.length == 0)
 {
      System.out.println("I am empty");
 } else{
       System.out.println(args);
 }

关于java - main()方法中的java args数组混淆(null检查),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12358603/

相关文章:

java - 如何在微服务架构(HAL、ALPS)中为 Restful 服务正确设置文档

java - 在 JTable 中添加按钮 - Netbeans

java - NiFi bootstrap.conf 文件上出现 Unsupported java 错误

java - C# 合约与 NotNull/在 Java 中创建自己的合约

java - 在Java中,有没有打算在当前线程中执行的Runnable版本?

java - Eclipse 调试,更改 BigDecimal 上的变量值

java - 如何在可点击项目上打开新 Activity ?

java - 为什么 StringBuffer#append 抛出 StringIndexOutOfBoundsException

java - 如何将 Android 应用程序连接到 RoR 数据库

java - 在 Java 中使用 InputStreamReader 时出错