【问题标题】:how to check whether an array of objects is NULL for some index in java [closed]java - 如何检查Java中某些索引的对象数组是否为NULL [关闭]
【发布时间】:2017-09-01 10:14:53
【问题描述】:

我是 Java 编程新手,我无法检查某些 i

让我们定义一个班级学生,其实例变量为姓名和卷号。

如果 Students 数组在位置 1 、 3 和 5 存储了学生对象,我该如何使用从 i = 0 到 i = 5 的 for 循环打印姓名和卷号,而无需 NZEC(知道 arr [0] 、 arr[2] 和 arr[4] 没有存储任何内容)。

我知道在 c++ 中,我们可以直接使用 :

if (arr[i] != NULL)
    print(name,roll)

但是,我如何在 Java 中做到这一点?

【问题讨论】:

标签: java arrays java-8


【解决方案1】:

请记住,Java 是一种区分大小写的编程语言,并且 null 关键字是小写的。因此比较if(arr[i] != NULL)会给你一个语法错误,你想输入if(arr[i] != null)

for(int i = 0; i < arr.length; i++){
    if(arr[i] != null){
       System.out.println(arr[i]);
    }
}

使用 IDE 可以轻松避免此类错误和错误。 IDE 通常会在您编译代码之前发现代码中的错误,并指出它们以便您修复它们。除了找到问题之外,大多数 IDE 都会为您的问题提供可能的解决方案,因此您不会出错。我建议你使用Eclipse IDE for Java Developers

【讨论】:

  • 我不同意 IDE 的事情。当你开始学习一门新语言时——学习一些非常复杂的工具,比如 eclipse,只会给已经很完整的 plage 增加很多复杂性。除此之外:IDE 会阻止您获得大量核心的基本体验。当您已经了解一些 IDE 时,就可以使用它了。但是当一个人对事物完全陌生时,我会使用简单的编辑器和命令行——至少几周。
【解决方案2】:

你可以试试:

Object[] arr = {obj1,null,obj2,obj3};
for (int i=0;i<arr.length;i++) {
    if(arr[i]!=null) {
    //Do what you want, obj is not null
} else {
    //Do what you want, obj is NULL!
}

【讨论】:

  • www.ideone.com/MpO0Ja 请通过我的代码一次并且请忽略由于 ideone 中的包导致的编译错误!我试过用 null 代替 NULL 但还是不行!
  • 有很多代码需要我们审核!请提供Minimal, Complete, and Verifiable example。消息“Main.java:305: error: class Question5 is public, should be declared in a file named Question5.java”表示类名与文件名不一致。如何在 IdeOne 上解决这个问题,我不知道。
  • @OleV.V. ,该代码在hackerearth界面上运行良好,并且该错误不是问题。我只是希望有人指出我的代码中出现运行时错误的原因!
  • @KartikMadaan 我的代码使用字符串数组进行了测试。如果您将第一行替换为: String[] arr = {"a",null,"b","c"} 它也适用于您的电脑。如果您使用对象而不是字符串,则错误可能与该对象相关联。你能发布更多相关信息吗?
  • @KartikMadaan,我们很乐意提供帮助,但这需要您付出努力。如果您遇到与本问题不同的问题,请通过How do I ask a good question?(再次),然后提出一个新问题。
猜你喜欢
  • 2012-04-21
  • 2015-12-23
  • 1970-01-01
  • 2017-11-05
  • 1970-01-01
  • 2014-07-27
  • 1970-01-01
  • 2018-07-18
  • 2023-03-15
相关资源
最近更新 更多