有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何检查数组元素是否存在?

我正在寻找Java与PHP的isset()等价物

int board[][]=new int[8][8];
...
if(isset(board[y][x]))
  // Do something with board[y][x]

Java中是否存在这样的函数

编辑:对不起,我的意思是我想检查board[100][100]是否存在if(board[100][100])将导致数组越界错误


共 (5) 个答案

  1. # 1 楼答案

      if (board[x][y] != null) {
        // it's not null, but that doesn't mean it's "set" either.  You may want to do further checking to ensure the object or primitive data here is valid
      }
    

    Java没有与isset等价的东西,因为知道是否真正设置了某个东西不仅仅是将一个值填充到一个位置

  2. # 2 楼答案

    在Java中,int数组被初始化为零值,因此您无法判断它是否未被设置,或者是否被设置为0值

    如果要检查是否已设置,应使用Integer数组。如果未设置该值,则该值将为null

    Integer[][] board = new Integer[8][8];
    ...
    if (board[x][y] != null) { ... }
    
  3. # 3 楼答案

    我认为一个基本的空检查是可行的

    String[] myArray = {"Item1", "Item2"};
    
    for(int x =0; x < myArray.length; x++){
        if(myArray[0] != null)
        {
          ...do something
        }
    }
    
  4. # 4 楼答案

    您可以创建一个方法,该方法首先检查x,y是否在数组的边界内,以及该值是否不为null。我不相信数组有内置的方法,但也有类似的帮助函数。用于ArrayList的contains()

  5. # 5 楼答案

    不使用int可能更好,如果必须使用Integer作为int,则可以使用Integer,但一般来说,复杂对象会更好(如棋子或其他东西)。这样,您可以检查值==null(null表示尚未设置)