如何删除对象数组的内容。如果还有其他方法可以删除对象数组的内容,请共享。

import java.util.Arrays;
import java.util.Scanner;

import org.apache.commons.lang3.ArrayUtils;

public class Testing {

  public static void deleteItem(ItemTracker[] listItems) {
    System.out.println("Which item you want to delete? ");
    for(int i=0; i < listItems.length; i++) {
            if(input.equalsIgnoreCase("Quantity")) {
                // Some Code
            } else if(input.equalsIgnoreCase("Something"){
                ArrayUtils.remove(listItems, i); //  This is the part where it should delete .. but it doesnt delete.
            }
            break;
        }
      }
    }

最佳答案

改变这个

ArrayUtils.remove(listItems, i);


listItems = ArrayUtils.remove(listItems, i);

正如您在JavaDoc中看到的那样,该方法不会更改参数listItems,而是会返回带有剩余元素的新数组。

编辑

您还需要将删除方法更改为
public static ItemTracker[] deleteItem(ItemTracker[] listItems) {
    //..
}

因此,您可以返回带有其余元素的新数组。

10-08 05:45