代码中的惊人bug

Val*_*Val 0 java eclipse swing android arraylist

直升机.我有两个arraylist:

public static ArrayList<Shop> shops;
Run Code Online (Sandbox Code Playgroud)

与字段: public static double dist;

和第二个arraylist: public static ArrayList<Double> for_sort_shops;

我也有一个代码:

for (int i = 0; i < shops.size(); i++) {
    Log.i("palval", "for_sort_shops.get(i) = "
            + for_sort_shops.get(i));
}

for (int i = 0; i < shops.size(); i++) {
    shops.get(i).dist = for_sort_shops.get(i);
}

Log.i("palval", "---------------------------------------");
for (int i = 0; i < shops.size(); i++) {
    Log.i("palval", "shops.get(i).dist = "
            + shops.get(i).dist);
}
Run Code Online (Sandbox Code Playgroud)

我得到了什么结果?

在此输入图像描述

怎么可能?!帮帮我理解

Joc*_*hen 10

您声明了diststatic,这意味着它的值在类级别定义并在所有实例之间共享.在您的程序中,您只能看到分配给它的最后一个值.