我有两个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.
我尝试将 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)
如果没有,为什么不可能?
我知道这个问题很多次,但我在我的代码中遇到了不同的问题,我尝试计算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)
当我输入这三个数字时.
输出:
总和是:1370368
但实际答案是:3703627.
我尝试这些解决方案 …