当前位置: 代码迷 >> Android >> 请教这句什么意思for(UpdateInfo info:mUpdateList)
  详细解决方案

请教这句什么意思for(UpdateInfo info:mUpdateList)

热度:168   发布时间:2016-04-28 03:41:26.0
请问这句什么意思for(UpdateInfo info:mUpdateList)
请问这句什么意思for(UpdateInfo info:mUpdateList) ,      [ C++的for 语句是这样的: for (int i=0; i<100; i++) ]

private List<UpdateInfo> mUpdateList;

for(UpdateInfo info:mUpdateList){
if(currentVersion.equals(info.version_from)){
    Log.v("AAA", "........info.version_from=."+info.version_from);
     Log.v("AAA", "........info.version_to=."+info.version_to);
list.add(info.version_to);
}
}



public class UpdateInfo implements Parcelable {
public String index;
public String version_from;
public String version_to;
public String description;
public String url;
public String size;
public String md5;

public UpdateInfo(){

}

private UpdateInfo(Parcel in){
index = in.readString();
version_from = in.readString();
version_to = in.readString();
description = in.readString();
url = in.readString();
size = in.readString();
md5 = in.readString();
}

@Override
public int describeContents() {
return 0;
}

@Override
public void writeToParcel(Parcel out, int arg1) {
out.writeString(index);
out.writeString(version_from);
out.writeString(version_to);
out.writeString(description);
out.writeString(url);
out.writeString(size);
out.writeString(md5);
}

public static final Parcelable.Creator<UpdateInfo> CREATOR = new Parcelable.Creator<UpdateInfo>(){

@Override
public UpdateInfo createFromParcel(Parcel in) {
return new UpdateInfo(in);
}

@Override
public UpdateInfo[] newArray(int size) {
return new UpdateInfo[size];
}

};

public String toString(){
StringBuilder builder = new StringBuilder();
builder.append(index+";");
builder.append(version_from+";");
builder.append(version_to+";");
builder.append(description+";");
builder.append(url+";");
builder.append(size+";");
builder.append(md5+";");

return builder.toString();
}

public static UpdateInfo createFromString(String s) {
UpdateInfo info = new UpdateInfo();
String[] values = s.split(";");
int i = 0;
try {
info.index = values[i++];
info.version_from = values[i++];
info.version_to = values[i++];
info.description = values[i++];
info.url = values[i++];
info.size = values[i++];
info.md5 = values[i++];
} catch (Exception e) {
e.printStackTrace();
return null;
}
return info;
}

public void dump(){
klilog.i("=========UpdateInfo===========");
klilog.i("index :"+index);
klilog.i("version_from :"+version_from);
klilog.i("version_to :"+version_to);
klilog.i("description :"+description);
klilog.i("url :"+url);
klilog.i("size :"+size);
klilog.i("md5 :"+md5);
}
}
------解决思路----------------------
迭代,遍历:mUpdateList里的对象,相对于c#中的foreach
------解决思路----------------------
for example:

int a[] = {1,2,3,4,5};
for(int b : a)
{
    System.out.println(b);
}


输出为:
1
2
3
4
5
------解决思路----------------------
看方法名去猜方法逻辑?要是写这个的人把update操作的方法偏偏写成delete命名,叫人怎么猜?
  相关解决方案