Java 返回一个循环

标签 java loops return

我想让我的类返回一个值,但我希望该值像循环一样进行更改。我认为我的代码会比我更好地解释它。

    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/

相关文章:

java - 更新 GUI 会产生闪烁效果

java - 循环结构,很困惑

iPhone 键盘返回键会将光标移动到下一个文本字段

php - PDO 对用户名匹配的行进行计数

mysql - MySQL中有没有办法确定每次记录包含第一次使用的值?

java - java.util.List 中的类型转换元素

java - 多线程 Java 的 Hello World

Java:如果我使用封装在类中的原始数据类型,它会慢多少?

java - 为什么这不会绘制一个直矩形?

javascript - ng-repeat 遍历对象中的对象