如何在java中缩短if x然后y

时间:2016-03-26 03:59:12

标签: java arrays if-statement

我正在尝试将多个图像上传到4个图像视图中,我想使用for循环来完成它。

ImageView view = defaultView;
String url = {"jpg1.png", "jpg2.png", "jpg3.png", "jpg4.png"};

    for (int i = 0; i < 4; i++) {
        if (i==0) {
            view = aView;
        }
        if (i==1) {
            view = bView;
        }
        if (i==2) {
            view = cView;
        }
        if (i==3) {
            view = dView;
        }

        Glide
                .with(this)
                .load("Website/folder/" + url[i])
                .override(widthpx, heigthpx)
                .into(view);

我如何使用较少的if语句?这可能吗?或者有没有办法将变量存储在数组中? (例如:Variables[] view = {default, aView, bView, cView, dView}

谢谢!

1 个答案:

答案 0 :(得分:0)

一种可能性:

ImageView[] views = { aView, bView, cView, dView };
for (int i = 0; i < 4; i++) {
    ImageView view = views[i];
    Glide ........
}

另:

glideMethod(aView, "jpg1.png");
glideMethod(bView, "jpg2.png");
glideMethod(cView, "jpg3.png");
glideMethod(dView, "jpg4.png");

将以Glide.with(........开头的所有内容放入方法中,并为该方法指定一个适当的名称来描述您正在做的事情。 (我不知道代码是做什么的,所以我只是称它为glideMethod,但你需要一个更好的名字。)