将int添加到字符串

时间:2012-08-28 17:48:17

标签: java

我正在试图制作一个看起来像这样的清单 Pages = [“Page 1”,“Page 2”......“Page 48”]

并且我正在使用它,以下几行有什么问题吗?

String[] Pages = {};
    int i = 0;
    for (; i < 47; i++) {
        String p = Integer.toString(i+1);
        Pages[i] = ("Page " + p);
    }

它不断给我一个arrayIndexOutOfBoundsException

4 个答案:

答案 0 :(得分:5)

页面已初始化为长度为0. String[] Pages = new String[47];将解决您的问题。

答案 1 :(得分:3)

更清洁,更好的方法是使用Collection ......

尝试使用列表

List<String> aList = new ArrayList<String>();

for(int i=0 ; i<47 ; i++ ){


    aList.add("Page :"+i);

 }

集合将为数组提供巨大的灵活性.........

答案 2 :(得分:3)

正如我在my comment中提到的,

  

ArrayIndexOutOfBoundsException是由Pages声明为{ },因此没有可索引元素的事实引起的 - 它的长度为0。< / p>      

评估Pages[i]时会抛出异常,而不是在执行"Page " + p时抛出异常。要更正,请尝试String[] Pages = new String[47];: - )

或者,如评论中提到的Ash,您想要List<String>而不是吗?

final List<String> pages = new ArrayList<String>(47);
for (int i = 1; i <= 47; ++i) {
  pages.add("Page " + i);
}

答案 3 :(得分:0)

这是因为您的数组尚未初始化为47,而是0.尝试此:

String[] Pages = new String[47];

我希望这会有所帮助。