简体   繁体   中英

How can make for loops on this array code?

My project include this code to get picture links in this array. I want to create images array with for loops.

 private void sliderPic(){
  List<String> sP=catalog_data_list.getCatalogImages();
  String[] urls;
      // Şimdilik bu yöntemle gelen resim sayısına göre dolduruyorum slider'ı.
   int spSize = sP.size();
  if (spSize==2)
      urls = new String[]{String.valueOf(sP.get(0)), String.valueOf(sP.get(1))};
  else if (spSize==1)
      urls = new String[]{String.valueOf(sP.get(0))};
  else if (spSize==3)
      urls = new String[]{String.valueOf(sP.get(0)), String.valueOf(sP.get(1)), String.valueOf(sP.get(2))};
  else if (spSize==4)
      urls = new String[]{String.valueOf(sP.get(0)), String.valueOf(sP.get(1)), String.valueOf(sP.get(2)),
              String.valueOf(sP.get(3))};
  else if (spSize==5)
      urls = new String[]{String.valueOf(sP.get(0)), String.valueOf(sP.get(1)), String.valueOf(sP.get(2)),
              String.valueOf(sP.get(3)), String.valueOf(sP.get(4))};
  else if (spSize==6)
      urls = new String[]{String.valueOf(sP.get(0)), String.valueOf(sP.get(1)), String.valueOf(sP.get(2)),
              String.valueOf(sP.get(3)), String.valueOf(sP.get(4)), String.valueOf(sP.get(5))};
  else if (spSize==7)
      urls = new String[]{String.valueOf(sP.get(0)), String.valueOf(sP.get(1)), String.valueOf(sP.get(2)),
              String.valueOf(sP.get(3)), String.valueOf(sP.get(4)), String.valueOf(sP.get(5)), String.valueOf(sP.get(6))};
  else if (spSize==8)
      urls = new String[]{String.valueOf(sP.get(0)), String.valueOf(sP.get(1)), String.valueOf(sP.get(2)),
              String.valueOf(sP.get(3)), String.valueOf(sP.get(4)), String.valueOf(sP.get(5)), String.valueOf(sP.get(6)),
              String.valueOf(sP.get(7))};
  else if (spSize==9)
      urls = new String[]{String.valueOf(sP.get(0)), String.valueOf(sP.get(1)), String.valueOf(sP.get(2)),
              String.valueOf(sP.get(3)), String.valueOf(sP.get(4)), String.valueOf(sP.get(5)), String.valueOf(sP.get(6)),
              String.valueOf(sP.get(7)), String.valueOf(sP.get(8))};
  else if (spSize==10)
      urls = new String[]{String.valueOf(sP.get(0)), String.valueOf(sP.get(1)), String.valueOf(sP.get(2)),
              String.valueOf(sP.get(3)), String.valueOf(sP.get(4)), String.valueOf(sP.get(5)), String.valueOf(sP.get(6)),
              String.valueOf(sP.get(7)), String.valueOf(sP.get(8)), String.valueOf(sP.get(9))};

I just tried this code to make for loop but it don't allow in syntax: if (spSize==2)

      urls = new String[]{for (int i=0;i>3;i++){String.valueOf(sP.get(0)), String.valueOf(sP.get(1))};}
  • Create an array of size spSize
  • Loop on sP and populate the array

Something like:

urls = new String[spSize];
for (int i=0; i<spSize; i++) {
    urls[i] = sP.get(i) // already a String, no need to call String.valueOf except if sP can contains null values.
}

Your idea was good, but you can't use a loop as a constructor parameter.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM