如何将List <long>中存储的值与long值进行比较?

时间:2016-12-07 17:11:52

标签: java android if-statement arraylist long-integer

我正在检索一些长值并将其存储在List<Long> l中。

以下是List<Long> l的注销值:

D/lng: [2197, -1007, 4003]

然后,我尝试将其与long<=900>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 {
            }

    }

问题是if (l.get(i) <= 900)if (l.get(i) > 900)即使l.get(i)的值均为<=900>900,也无法正常工作,请参阅:{{1 }}

更新:@HarisQureshi的答案有效,但问题是D/lng: [2197, -1007, 4003]循环的原因,内部的for条件被调用了3次而我希望它只被调用一次。所以,我想知道有没有办法在该代码上方定义if循环,然后在fori条件中使用if (l.get(i) <= 900)

1 个答案:

答案 0 :(得分:0)

您使用Long制作了一个列表,ListLong都不是原始数据类型。 在您的问题中,您要比较原始数据类型和非原始数据类型,以便比较比较器的两侧应具有相同的数据类型。

你在做什么:

if (l.get(i) <= 900)

此处l.get(i)返回Long值,其中900为整数值。

你应该做什么:

只需将您的l.get(i)Long进行比较900L

if (l.get(i) <= 900L)

if (l.get(i) > 900L)