我有一个非常简单的程序,只需要检查数组中是否有一个值。 我有一个叫做 bulkBean 的类。这就是它。
public class bulkBean {
private int installmentNo;
private double amount;
public int getInstallmentNo() {
return installmentNo;
}
public void setInstallmentNo(int installmentNo) {
this.installmentNo = installmentNo;
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
}
现在我的程序中有一个bulkBean类型的数组,这是我的程序:
import java.util.Arrays;
public class test {
public static boolean scan_bulkList(bulkBean[] bulkList, int i) {
int[] arr = new int[bulkList.length];
for(int x=0;x<bulkList.length;x++){
arr[x] = bulkList[x].getInstallmentNo();
}
for(int j = 0; j< arr.length ;j++){
System.out.println("INFO: array "+j+" = "+arr[j]);
}
if (Arrays.asList(arr).contains(i) == true) {
return true;
} else {
return false;
}
}
public static void main(String[] arg){
bulkBean bb1 = new bulkBean();
bb1.setInstallmentNo(1);
bb1.setAmount(5500);
bulkBean bb2 = new bulkBean();
bb2.setInstallmentNo(2);
bb2.setAmount(4520);
bulkBean[] bulkArray = new bulkBean[2];
bulkArray[0] = bb1;
bulkArray[1] = bb2;
boolean a = scan_bulkList(bulkArray,1);
System.out.println("val = "+a);
}
}
我创建了2个bulk bean实例并为它们设置了值。然后将这两个实例添加到一个数组中。然后将该数组传递给方法以检查一个值(也作为参数给出,在此情况下为1)。如果数组包含该值,则应返回true,否则返回false。无论我输入什么值,它都返回false。为什么会出现这个问题?
Arrays.asList(arr).contains(i)
。 - Alexander_Winterint[] arr = new int[bulkList.length];
更改为Integer[] arr = new Integer[bulkList.length];
。 - Alexander_Winter