小编Omo*_*ore的帖子

containsAll在比较对象的两个ArrayList时返回False

我有两个ArrayList:

ArrayOne

ClassPojo [Name ="XXX", FilterID = 4]
ClassPojo [Name = "ZZZ", FilterID = 5]
Run Code Online (Sandbox Code Playgroud)

ArrayTwo

ClassPojo [Name = "XXX", FilterID = 4]
Run Code Online (Sandbox Code Playgroud)

但是当试着使用时:

 Arrays.asList(ArrayOne).contains(ArrayTwo )
Run Code Online (Sandbox Code Playgroud)

要么

ArrayOne().containsAll(ArrayTwo)
Run Code Online (Sandbox Code Playgroud)

它返回false,我知道比较是基于Refrences而不是值equlaty但我如何通过值来做到这一点注意:我想使用conatinsAll,所以如果在ArrayOne的某些部分找到arrayTwo的内容则返回true.

java arraylist

2
推荐指数
1
解决办法
1367
查看次数

Lambda 表达式中的命名线程

我尝试将 name 参数与 Lambda 表达式一起传递,但无法使其工作。我解决的方法是这样的:

        Thread t1 = new Thread(() ->{
        try {
            Desktop.getDesktop().browse(new URI("http://www.google.com"));
        }catch (IOException e){
            e.printStackTrace();
        }catch (URISyntaxException e){
            e.printStackTrace();
        }
    }
    );
    t1.setName("Internet Browser");
    t1.start();
Run Code Online (Sandbox Code Playgroud)

有办法吗?我可以写在一行中

new Thread("nameHere",() ->{....}).start();
Run Code Online (Sandbox Code Playgroud)

如果没有,为什么不可能?

java lambda multithreading

1
推荐指数
1
解决办法
1410
查看次数

c ++中长整数数组的总和

我知道这个问题很多次,但我在我的代码中遇到了不同的问题,我尝试计算2-15之间的长整数范围.

码:

long array[20];
long NUMBERS;

cout << "How many numbers ? : ";
cin >> NUMBERS;
long sum=0;
for (int i = 0; i < NUMBERS;i++){

    cout << "Input number " << (i+1) << " : ";
    cin >> array[i];    
}

cout << "Calculate Sum" << endl;
for (int i = 0; i < NUMBERS;i++){
    sum = sum + array[i];
}

cout << "Sum is : " << sum << endl;
Run Code Online (Sandbox Code Playgroud)

当我输入这三个数字时.

  1. 1234567
  2. 123456
  3. 12345

输出:

总和是:1370368

但实际答案是:3703627.

我尝试这些解决方案 …

c++ arrays sum-of-digits

-7
推荐指数
1
解决办法
1536
查看次数

标签 统计

java ×2

arraylist ×1

arrays ×1

c++ ×1

lambda ×1

multithreading ×1

sum-of-digits ×1