繁体   English   中英

如何在此数组代码上进行 for 循环?

[英]How can make for loops on this array code?

我的项目包含此代码以获取此数组中的图片链接。 我想用 for 循环创建图像数组。

 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))};

我刚刚尝试使用此代码进行 for 循环,但它不允许语法:if (spSize==2)

      urls = new String[]{for (int i=0;i>3;i++){String.valueOf(sP.get(0)), String.valueOf(sP.get(1))};}
  • 创建一个大小为spSize的数组
  • sP上循环并填充数组

就像是:

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.
}

您的想法很好,但是您不能将循环用作构造函数参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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