【问题标题】:How do I print out all the data of each object in a class? [duplicate]如何打印出类中每个对象的所有数据? [复制]
【发布时间】:2018-08-28 13:02:07
【问题描述】:

所以我在 Java 中创建了一个“朋友”类,每个朋友都有一个:姓名、生日、昵称、类型。我不知道如何为班上的每个朋友打印出所有这些数据,这就是我的目标。我希望能够拥有这样的东西:

for(//each person in my friends class, print out the data)

让它看起来像这样:

System.out.println("Name: " + Friend.name);
System.out.println("Bday: " + Friend.birthday);
System.out.println("Nickname: " + Friend.nickname);
System.out.println("Type: " + Friend.type);

输出会是这样的:

Name: Spencer
Bday: 101002
Nickname: Colin
Type: Tier 1

这是我目前所拥有的:

import java.util.Random;

class friends {
    String name;
    int birthday;
    String nickname;
    String type;
}

public class RipStefan {
    public static void main(String[] args) {
        friends Colin = new friends();
        Colin.name = "Spencer";
        Colin.birthday = 101002;
        Colin.nickname = "Colin";
        Colin.type = "Tier 1";

    friends Sanger = new friends();
    Sanger.name = "Oliver";
    Sanger.birthday = 112702;
    Sanger.nickname = "Sanger";
    Sanger.type = "Tier 1";

    friends Paul = new friends();
    Paul.name = "Paul";
    Paul.birthday = 022103;
    Paul.nickname = "PBJ";
    Paul.type = "Tier 1";



    }
}

抱歉,如果任何格式关闭,这是我在 Stack Overflow 上的第一个问题。

【问题讨论】:

  • 简单的答案:不要单独获取值,而是让你的类实现/覆盖 toString() 方法。
  • 按照惯例,Java 类应该以大写字母开头,而且我认为你应该去掉“s”,因为该类代表一个朋友。 friends -> Friend
  • @GhostCat 重复错误。
  • @MuratK。我又加了一个。
  • 看看 Apache Commons 的 ReflectionToStringBuilder,它对构建动态 toString 表示有很大帮助:commons.apache.org/proper/commons-lang/apidocs/org/apache/…

标签: java class object


【解决方案1】:

您需要一个集合才能遍历元素。现在你实例化Friend 对象而不收集它们。您可以使用 List 例如

List<Friends> listOfFriends = new ArrayList<>();
listOfFriends.add(colin);
listOfFriends.add(sanger);
listOfFriends.add(paul);

然后你就可以了

for(Friends f : listOfFriends){
 // print out stuff for every friend from the variable f
}

您还应该遵守命名约定。 Friends 类应该是 Friend 等等。

【讨论】:

  • 谢谢。我对java很陌生,我不知道如何使用List
猜你喜欢
  • 2020-04-05
  • 1970-01-01
  • 2019-01-31
  • 2012-10-11
  • 2021-08-19
  • 2022-01-22
  • 1970-01-01
  • 2020-06-27
  • 1970-01-01
相关资源
最近更新 更多