如何在另一个类中调用数组?

时间:2014-12-03 00:31:11

标签: java

我是java新手编程的新手,我有一个问题,你可能会觉得很傻但是无论我观看了多少YouTube视频,我都无法解决该怎么做。

我创建了一个GUI,我从文本字段中获取文本,并将它们作为字符串存储在变量中。

String messageId = messageIdText.getText();
        String subject = subjectText.getText();
        String recipient = recipientText.getText();
        String message = messageArea.getText();

然后我用这个数据创建了一个数组。

String [] messageData = {messageId,subject,recipient,message};

现在我需要将这个数组调用到另一个类,然后我可以使用它。另一个类叫做“MessageData

有人可以告诉我用什么代码来做这件事。

对不起基本问题,任何帮助将不胜感激

再次感谢 乔

2 个答案:

答案 0 :(得分:0)

如果这一切都发生在你的类的方法中,那么MessageData需要调用该方法,并且该方法需要return数组。这看起来像这样:

public class MyClass {
    public String[] getStrings() {
        String messageId = messageIdText.getText();
        String subject = subjectText.getText();
        String recipient = recipientText.getText();
        String message = messageArea.getText();
        String[] messageData = new String[]{messageId, subject, recipient, message};
        return messageData;
    }
}

并在MessageData中:

MyClass thing = new MyClass();
String[] strings = thing.getStrings();

或者,如果messageData是您的类的一个字段,您可以为它编写一个getter。这看起来更像是这样:

public class MyClass {
    private String[] messageData;

    public void setThingsUp() {
        String messageId = messageIdText.getText();
        String subject = subjectText.getText();
        String recipient = recipientText.getText();
        String message = messageArea.getText();
        messageData = new String[]{messageId, subject, recipient, message};
    }

    public String[] getMessageData() {
        return messageData;
    }
}

这样称呼:

MyClass thing = new MyClass();
thing.setThingsUp();
String[] strings = thing.getMessageData();

答案 1 :(得分:0)

当你“使用它”时,你正在编写一个以某种方式获取字符串引用的函数。

你可以像Carl Manaster那样做。当他们不在同一个班级时,会有更多的选择。

在你班级的功能中

use(String[] strings){
    //do sth with strings
}

在你的调用函数use(messageData);

提供函数appropriate accessibility

还有更多方法可以共享变量。当谈到多线程时,使用安全的,如队列或消息(特别是在你的后端和ui线程之间。不要处理ui线程中的数据)。在android中使用意图。

PS。看起来你的字符串有特殊含义,所以Map对你来说可能比列表更好。你可以致电var.get("message1d");而不是混淆var[0],你将永远不会认识到0的意思。