簡體   English   中英

Java:如何將數據添加到對象中?

[英]Java: How do you add data into an object?

我是Java新手。 如何將String數據添加到對象“ 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();
  }
}

您只需簡單地創建類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是一種面向對象的編程語言,當您想要一個新的類實例時,應避免在方法中使用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

在類中具有屬性並從新實例中進行設置將有助於您獲得可重用性。

希望能幫助到你。

通常,您可以通過以下簡單示例向對象添加字符串:

 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]);
        }

在您的主要方法中,您需要首先將對象更改為數組的對象:From- Object myData = new Object(); 收件人: Object[] myData = new Object[myArray.length];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM