如何从循环返回多个字符串?

Sam*_*iew 0 java return

请看一下这段代码(使用ArrayList实现)

public String returnCoreUnitsForProgram()
{
    ArrayList<String> testArray = new ArrayList<String>();

    ProgramClass pc = new ProgramClass("","","","");

    if ( pc.getProgramMajor().equals("Software Technology")
      || pc.getProgramMajor().equals("Network Technology" )
      || pc.getProgramMajor().equals("Games Technology" ) )
    {                           
       for(int i = 0; i< UnitArray.size() ; i++)
       {
            if (UnitArray.get(i).getUnitType().equals("Core"))
                testArray.add( UnitArray.get(i).getUnitName() );
       }                
    }  

    return testArray;
}
Run Code Online (Sandbox Code Playgroud)

使用ArrayList - 我得到错误"不兼容的类型 "

没有ArrayList:

public void returnCoreUnitsForProgram()
{               
    ProgramClass pc = new ProgramClass("","","","");

    if ( pc.getProgramMajor().equals("Software Technology")
      || pc.getProgramMajor().equals("Network Technology" )
      || pc.getProgramMajor().equals("Games Technology" ) )
    {                           
       for(int i = 0; i< UnitArray.size() ; i++)
       {
            if (UnitArray.get(i).getUnitType().equals("Core"))
            UnitArray.get(i).getUnitName();
       }                
    }                  
}
Run Code Online (Sandbox Code Playgroud)

在另一个类"ProgramClass"中,

public String programToString()
{
    Apps apps = new Apps();
    String str = "Program Code: " + getProgramCode()
                +"\nProgram Code: " + getProgramName()
                +"\nProgram Major: "+ getProgramMajor()
                + apps.returnCoreUnitsForProgram();
    return str;
}
Run Code Online (Sandbox Code Playgroud)

我不可能这样做因为returnCoreUnitsForProgram()方法无效.

所以我认为我唯一的选择是使用ArrayList的第一个实现方法.

我怎么解决这个问题?

Eva*_*les 6

你想要归还一个ArrayList,但你要归还一个String.将功能定义更改为

public ArrayList<String> returnCoreUnitsForProgram()
Run Code Online (Sandbox Code Playgroud)

此外,您可能希望阅读更多有关Java核心概念的内容.