Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中以编程方式初始化1000个字符串?_Java_String_For Loop - Fatal编程技术网

如何在Java中以编程方式初始化1000个字符串?

如何在Java中以编程方式初始化1000个字符串?,java,string,for-loop,Java,String,For Loop,我想在ma应用程序列表中初始化1000个字符串 public static final String[] IMAGES = {"1","2","3","4","5","6",......"1000"}; 当然可以: 当然可以: 如果字符串本身就是表示其在数组中位置的整数,则创建数组并运行for循环 如果字符串本身就是表示其在数组中位置的整数,则创建数组并运行for循环 可能是这样的: public static final String[] IMAGES; static { IMAGE

我想在ma应用程序列表中初始化1000个字符串

public static final String[] IMAGES = {"1","2","3","4","5","6",......"1000"};
当然可以:

当然可以:


如果字符串本身就是表示其在数组中位置的整数,则创建数组并运行for循环


如果字符串本身就是表示其在数组中位置的整数,则创建数组并运行for循环

可能是这样的:

public static final String[] IMAGES;
static {
    IMAGES = new String[1000];
    for (int i = 0; i < IMAGES.length; i++) {
        IMAGES[i] = String.valueOf(i+1);
    }
}
可能是这样的:

public static final String[] IMAGES;
static {
    IMAGES = new String[1000];
    for (int i = 0; i < IMAGES.length; i++) {
        IMAGES[i] = String.valueOf(i+1);
    }
}


琴弦会是各种不同的东西吗?或者正如您所说,数字1-1000是字符串?Matt Clark您的代码不起作用。我已经尝试过这样做。syntex错误:,删除此标记后,如果您可以在运行时为特定索引推断正确的文本值,为什么要分配1000个字符串?我的意思是,String.valueOfindex-1的返回值将与IMAGES[index]一致,但前者意味着您不必在内存中保留1000个字符串。@MH您在说什么。。在运行时如何做到这一点?@DivyaRamakrishnan:我是说,仅用[1…n]个数字序列分配字符串[1000]没有什么意义。与其为n=5(即6)检索图像[n],为什么不直接执行String.valueOfn+1呢。后者也将是6,但您不必在内存中分配1000个字符串。字符串会是各种不同的东西吗?或者正如您所说,数字1-1000是字符串?Matt Clark您的代码不起作用。我已经尝试过这样做。syntex错误:,删除此标记后,如果您可以在运行时为特定索引推断正确的文本值,为什么要分配1000个字符串?我的意思是,String.valueOfindex-1的返回值将与IMAGES[index]一致,但前者意味着您不必在内存中保留1000个字符串。@MH您在说什么。。在运行时如何做到这一点?@DivyaRamakrishnan:我是说,仅用[1…n]个数字序列分配字符串[1000]没有什么意义。与其为n=5(即6)检索图像[n],为什么不直接执行String.valueOfn+1呢。后者也将是6,但您不必在内存中分配1000个字符串。Bastien Thanx..但Ted Hopp首先给出了答案。@TedHopp提出的解决方案在没有i+1的情况下更优化了一点,即使循环只执行一次。按照他的解决方案去做。@Bastein你能告诉我第二个答案不起作用吗。我在发布这篇文章之前试过类似的方法……@Divya,因为你需要把for放在一个method@TedHopp最后,除了索引:Bastien Thanx.之外,它是完全相同的。但是Ted Hopp首先给出了答案。@TedHopp提出的解决方案有点不合理即使循环只执行一次,在没有i+1的情况下也会更加优化。按照他的解决方案去做。@Bastein你能告诉我第二个答案不起作用吗。我在发布这篇文章之前试过类似的方法……@Divya,因为你需要把for放在一个method@TedHopp最后,除了索引之外,它完全相同:这将开始在索引1处添加字符串,并生成ArrayIndexOutOfBounds异常,因为@Jrop-Oops的。固定的谢谢您的提示。@DivyaRamakrishnan-您可能需要指定语法错误。他的代码编译得很好。@DivyaRamakrishnan-什么语法错误?我的Eclipse版本对此很满意。@Ted Hopp你的代码就像一个字符一样工作。@matt clark answers不工作。这将开始在索引1处添加字符串,并由于@Jrop-Oops产生ArrayIndexOutOfBounds异常。固定的谢谢您的提示。@DivyaRamakrishnan-您可能需要指定语法错误。他的代码编译得很好。@DivyaRamakrishnan-什么语法错误?我的Eclipse版本对此很满意。@Ted Hopp你的代码就像一个字符一样工作。@matt clark answers不工作抱歉,我有一个问题导致它出界。在这里它被更正了。对不起,我有一个问题,导致它出界。在这里它被更正了。
public static final String[] IMAGES;
static {
    IMAGES = new String[1000];
    for (int i = 0; i < IMAGES.length; i++) {
        IMAGES[i] = String.valueOf(i+1);
    }
}