如何用空对象填充字符串数组?

时间:2013-12-03 04:07:05

标签: java arrays main

所以我创建了一个包含cd集合的数组。唯一的问题是最大数组大小是50,如果有50个对象,如何用空对象填充数组?:

public static void main(String[] args) throws IOException 
  {
    final int MAX_ARRAY_SIZE = 50;
    final String FILENAME = "Collection.txt";

    CDOutput out = new CDOutput();
    CDInput in = new CDInput();

    int count = 0;  // Counter to keep track of number of elements in the array
    int choice = 0; // Menu choice

    String[] songArray = new String[MAX_ARRAY_SIZE]; // Create array to hold song collection

    {
    songArray[0] = new String("");// Fill array with empty objects ????????
    songArray[1] = new String("");
    songArray[2] = new String("");
    songArray[3] = new String("");
    songArray[4] = new String("");
    songArray[5] = new String("");
    songArray[6] = new String("");
    songArray[6] = new String("");
    songArray[7] = new String("");
    songArray[8] = new String("");
    songArray[9] = new String("");
    songArray[10] = new String("");
    songArray[11] = new String("");
    songArray[12] = new String("");
    songArray[13] = new String("");
    songArray[14] = new String("");
    songArray[15] = new String("");
    songArray[16] = new String("");
    songArray[17] = new String("");
    songArray[18] = new String(""); //and so on......
    }

我知道这不正确......

编辑(事后看来这真的很容易):

String[] songArray = new String[50];
for (int i = 0; i < 50; i++)
    songArray[i] = new String("");

3 个答案:

答案 0 :(得分:1)

Arrays.fill()也许可以帮到你:http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html

此外,如果您使用的是Apache Commons Lang,则可以使用ArrayUtils.nulltoEmpty()

答案 1 :(得分:1)

使用Arrays#fill。有关详细信息,请查看Javadoc。典型用法如下:

String[] a = new String[5];
String stringToFillWith = "";
Arrays.fill(a, 0, a.length - 1, stringToFillWith);

编辑:两个数字0和a.length - 1是要用给定值填充的初始和最终索引(在本例中为stringToFillWith)。

答案 2 :(得分:1)

在Java中,每当初始化一个数组时,该数组都会有一些默认值“填满”所有新形成的数组。对于数值,它们为零,对于存储对象的数组为null

  • boolean[]false
  • char[]'\u0000'
  • byte[]short[]int[]long[]0
  • double[]float[]。 :0.0
  • String[]Object[]等:null

如果您希望songArray在添加“CD”之前仅以null值开头,则无需进一步的工作。如果您希望songArray""个值开头,请使用Arrays.fill

import java.util.Arrays;
....
String[] songArray = new String[MAX_ARRAY_SIZE];
Arrays.fill(songArray, "");

请注意,您也可以使用for循环轻松完成此操作,而不是复制和粘贴一行代码50次:

for (int i = 0; i < MAX_ARRAY_SIZE; i++)
{
    songArray[i] = "";
}