Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何比较列表中存储的值<;长期>;有长期价值吗?_Java_Android_If Statement_Arraylist_Long Integer - Fatal编程技术网

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)