我想让我的类返回一个值,但我希望该值像循环一样进行更改。我认为我的代码会比我更好地解释它。
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 新手并计划坚持使用它,那么掌握它是一个非常重要的方面:)。
你应该做的是实例化一个新的集合,例如:
List<String> messageList = new ArrayList<String>();
然后在你的循环中,你会做...
messageList.add(msg);
当然,还有大结局......
return messageList;
在“外部”方法(调用者)中,您可以对列表进行交互,并根据您的需要使用消息。
关于Java 返回一个循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7799597/