Java 如何比较列表中存储的值<;长期>;有长期价值吗?
我正在检索一些长值并将其存储在Java 如何比较列表中存储的值<;长期>;有长期价值吗?,java,android,if-statement,arraylist,long-integer,Java,Android,If Statement,Arraylist,Long Integer,我正在检索一些长值并将其存储在列表l中 以下是列表l的注销值: D/lng: [2197, -1007, 4003] 然后,我尝试将它与long值进行比较,比如900 以下是方法: public void filterRequests(final List<Long> l) { final int size = l.size(); int i; for (i = 0; i < size; i+
列表l
中
以下是列表l的注销值:
D/lng: [2197, -1007, 4003]
然后,我尝试将它与long
值进行比较,比如900
以下是方法:
public void filterRequests(final List<Long> l) {
final int size = l.size();
int i;
for (i = 0; i < size; i++){
}
Log.d("lng", String.valueOf(l));
if (l.get(i) <= 900) {
// do the logic when l <= 900
} else {
}
}
public void filterRequests(最终列表l){
最终整数大小=l.大小();
int i;
对于(i=0;i 如果(l.get(i)您用Long
创建了一个列表,那么list
和Long
都不是原始数据类型。
在您的问题中,您正在比较基本数据类型和非基本数据类型,为了进行比较,比较器的两侧应该是相同的数据类型
你在做什么:
if (l.get(i) <= 900)
或
太多不相关的代码。请阅读:。示例:在方法返回后,传递给filterRequests()
的列表是否更新?请记住
处理程序稍后会被调用,它们引用相同的列表。声明参数final
不会使列表不可变。不要混淆“Java是传递值”事实上,是引用值通过值传递。列表本身被认为是通过引用传递的,因此方法和调用方共享同一个列表。创建一个示例而不使用Android/firebase或其他。纯Java和本地类。这将更简单,您甚至可以自己找到答案……这是解释n在Andreas的链接上。@AxelH现在看一下……我已经按照你的建议做了同样的事情。首先,你做了两次同样的事情……你有两个循环来检查一次=900
,然后相反的你试着用上面的值调试了吗?@HarisQureshi好的,我会试着让你知道的。@HarisQureshi它实际上在工作。问题是对于
语句,的原因是循环发生了3次。有没有办法指定之前的i
以及在if(l.get(i)900)
条件中使用它?我不明白,请在问题中详细说明,您想要什么。@HarisQureshi请查看问题的编辑部分
if (l.get(i) <= 900L)
if (l.get(i) > 900L)