public class test
{
public static void main(String args[])
{
int flag=0;
String[] titlename;
String[] menuname={"book","contract"};
String name="book";
for (int sub=0;sub<=menuname.length-1;sub++)
{
if (menuname[sub].equals(name)) 
{
flag=sub;
break;
}
}
switch(flag)
{
case 0 :
titlename=new String[5];
titlename[0]="aaa";
titlename[1]="aaa";
titlename[2]="aaa";
titlename[3]="aaa";
titlename[4]="aaa";
                  break;
case 1 :
titlename=new String[4];
titlename[0]="bbb";
titlename[1]="bbb";
titlename[2]="bbb";
titlename[3]="bbb";
break;
}
for(int i=0;i< titlename.length;i++) {
      System.out.println(titlename[i]);
    } }}
编译出错:variable titlename might not have been initialized
请问若要实现这样的功能应该怎么做呢?

解决方案 »

  1.   

    String[] titlename;
    改成:
    String[] titlename = null;
      

  2.   

    switch(flag)
    {
    case 0 :
    titlename=new String[5];
    titlename[0]="aaa";
    titlename[1]="aaa";
    titlename[2]="aaa";
    titlename[3]="aaa";
    titlename[4]="aaa";
                      break;
    case 1 :
    titlename=new String[4];
    titlename[0]="bbb";
    titlename[1]="bbb";
    titlename[2]="bbb";
    titlename[3]="bbb";
    break;
                  default: 
                      titlename = new String[0];////here
    }
      

  3.   

    为什么非要用数组,不用list呢
      

  4.   

    问得好.
    有那么多 集可用, Apache Commons 也有 primitive 用于基本类型的集合.