Java: 如何将数据添加到对象中?

Java: How do you add data into an object?

我是 Java 的新手。如何将字符串数据添加到对象“myData”中并在 main 中打印出它的内容?

public class myData {
  static String[] myArray = new String[] { "Mimi Rudolph", "minirudolph" };

  public static String[] cutName(String string) {
    return string.split(" ");
  }

  String[] fullName = cutName(myArray[0]);
  String skype = myArray[1];
  String github = null;
  Object myData = new Object();

  public myData(String[] fullName, String skype, String github) {
    this.fullName = fullName;
    this.skype = skype;
    this.github = github;
  }

  public static void main(String[] args) {

    Object myData = new Object();
  }
}

您只需创建 class myData 的实例,如下所示:

public static void main(String[] args) {
    myData myData = new myData(myArray, "skype", "github");
    ...
}

要打印其内容,您可以重写方法 toString(),例如:

@Override
public String toString() {
    return "myData{" +
        "fullName=" + Arrays.toString(fullName) +
        ", skype='" + skype + '\'' +
        ", github='" + github + '\'' +
        ", myData=" + myData +
        '}';
}

然后您就可以使用System.out.println(myData)打印它的内容了。

因此最终代码如下所示:

public class myData {
    ...
    @Override
    public String toString() {
        ...
    }

    public static void main(String[] args) {
        myData myData = ...
        System.out.println(myData);
    }
}

我想你正在寻找这样的东西:

public class MyData {

private static final String[] myArray = new String[]{"Mimi Rudolph", "minirudolph"};

String[] fullName = cutName(myArray[0]);
String skype = myArray[1];
String github = null;
Object myData = new Object();

private static String[] cutName(String string) {
    return string.split(" ");
}

public MyData(String[] fullName, String skype, String github) {
    this.fullName = fullName;
    this.skype = skype;
    this.github = github;
}

public static void main(String[] args) {
    MyData myData = new MyData(myArray, "Skype string goes here", "githun string goes here");
    System.out.println(myData.fullName);
    System.out.println(myData.github);
    System.out.println(myData.skype);
}
}

@Tai,我认为您的代码中遗漏了一些概念。 一旦 Java 是一种面向对象的编程语言,当您想要 class.

的新实例时,您应该避免在您的方法中使用 static

要使用 static 调用方法,您不需要对象的新实例(例如,可以将其称为 MyData.cutName

另一方面,当您创建对象的新实例时,将访问构造函数。

我相信您可以删除数组,但我将其保留在您的 cutName 方法中。 你可以有这样的东西。

public class MyData {
    private String fullname;
    private String skype;
    private String github;

    public MyData(String fullname, String skype, String github) {
        this.fullname = fullname;
        this.skype = skype;
        this.github = github;
    }

    public String getFullname() {
        return this.fullname;
    }

    public String getSkype() {
        return this.skype;
    }

    public String getGithub() {
        return this.github;
    }

    public String[] cutName(String string) {
        return string.split(" ");
    }

    @Override
    public String toString() {
        return "Fullname: " + this.fullname + "; Skype: " + this.skype + "; Github: " + this.github;
    }

    public static void main(String[] args) {
        MyData myData = new MyData("Mimi Rudolph", "minirudolph_skype", "minirudolph_githnub");
        System.out.println("First name: " + myData.cutName(myData.getFullname())[0]);
        System.out.println("Last name: " + myData.cutName(myData.getFullname())[1]);
        System.out.println(myData);
    }
}

输出将是:

First name: Mimi
Last name: Rudolph
Fullname: Mimi Rudolph; Skype: minirudolph_skype; Github: minirudolph_githnub

在您的 class 中拥有这些属性并从新实例中进行设置将帮助您实现可重用性。

希望对您有所帮助。

通常您可以通过以下简单示例将字符串添加到对象:

 String a = "abc";
 Object b = a;
 System.out.println(b);

如果要将一个完整的String数组赋值给myData对象,那么需要做如下操作:

 Object[] myData  = new Object[myArray.length];
        for(int i=0;i<myArray.length;i++){
            myData [i] = myArray[i];
            System.out.println("MyData Object Array holding strings data: "+myData[i]);
        }

在你的main方法中,你需要先把object改成Arrays的object: 来自 - Object myData = new Object(); 收件人:Object[] myData = new Object[myArray.length];