作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
如何删除对象数组的内容。如果还有其他方法可以删除对象数组的内容,请分享。
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) {
//..
}
因此您可以返回包含剩余元素的新数组。
关于java - 如何将 ArrayUtils 用于对象数组,它不会删除数组的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26360865/
我是一名优秀的程序员,十分优秀!