有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

关于get和set以及何时使用超类的java问题

我有以下获取方法:

public List<PersonalMessage> getMessagesList() {
    List<PersonalMessage> newList = new ArrayList<PersonalMessage>();

    for(PersonalMessage pMessage : this.listMessages) {
        newList.add(pMessage.clone());
    }

    return newList;
}

您可以看到,如果我需要将实现从ArrayList更改为其他内容,我可以很容易地做到这一点,我只需要更改newList的初始化,所有其他依赖于getMessageList()返回内容的代码仍然可以工作

然后我有一套方法:

public void setMessagesList(ArrayList<PersonalMessage> listMessages) {
    this.listMessages = listMessages;
}

我的问题是,我应该在方法签名中使用List而不是“ArrayList”吗

我决定使用ArrayList,因为这样我可以强制实现我想要的实现,否则可能会到处都是不同类型的列表

但我不确定这是不是一条路


共 (0) 个答案