我想让我的班级返回一个值,但我想像循环一样更改该值。我认为我的代码会比我更好地解释它。
public static String readChat(String value) throws Exception
{
FormatS FormatS = new FormatS();
BufferedReader mainChat = new BufferedReader(new FileReader("./chat.txt"));
String str;
while ((str = mainChat.readLine()) != null)
{
String msg = FormatS.FormatS(str, value);
}
mainChat.close();
return (msg);
不幸的是,由于不返回循环,因此仅返回最后一个,而仅返回循环中的最后一条消息,如何使它返回循环中的每个值作为单独的返回? (如果可以的话,在不影响其他类的情况下)
最佳答案
你不能Java方法仅返回一个值,不能多次返回。
在return语句之后,您将无法使用该方法!
您可以使用集合(例如,列表)来存储所有消息,然后返回列表。
http://download.oracle.com/javase/6/docs/api/java/util/Collection.html
在此处查看有关收藏的其他信息。如果您是Java的新手并计划坚持使用它,那么掌握:)是一个非常关键的方面。
您应该做的是实例化一个新的Collection,例如:
List<String> messageList = new ArrayList<String>();
然后在循环中,您将...
messageList.add(msg);
当然,对于大结局...
return messageList;
在“外部”方法(调用方)中,您可以遍历列表,并根据需要使用消息。