加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Arrays.asList()的问题

发布时间:2020-12-15 04:23:03 所属栏目:Java 来源:网络整理
导读:我有一个非常简单的程序,我只需要检查数组中的值. 我有一个名为bulkBean的类.就是这个. public class bulkBean { private int installmentNo; private double amount; public int getInstallmentNo() { return installmentNo; } public void setInstallmentN
我有一个非常简单的程序,我只需要检查数组中的值.
我有一个名为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个批量bean实例,并为它们设置了值.然后我将这两个实例添加到一个数组中.然后我将该数组传递给方法以检查值(也作为参数给出.在这种情况下,它是1.).如果数组包含该值,则应返回true,否则返回false.
无论我输入什么价值,它都会返回false.
为什么我会遇到这个问题?

解决方法

正如TheListMind所说,在int []上采用的Arrays.asList()为您提供了一个包含该数组的列表.

就个人而言,我会直接构造List而不是构造数组,甚至更好(不需要数组实例化),在迭代批量数组时进行测试:

for(int x=0;x<bulkList.length;x++){
    if (bulkList[x].getInstallmentNo() == i){
         return true;     
    }
}
return false;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读