java - 在 arrayList 中添加对象

标签 java

我是一名正在学习面向对象编程类(class)的学生。我正在努力理解这里有人知道的有关书籍或网站的对象,我可以在哪里学习它?

我一直在做这个练习,但我不知道为什么我不能向数组列表添加消息。 我究竟做错了什么?

import java.util.ArrayList;

public class MessagingService {
    ArrayList<Message> messages;


    public MessagingService(){
        this.messages = new ArrayList();
    }
    public void add(Message message){
        if(message.length() >=280 && !(this.messages.contains(message))){
            this.messages.add(message);
        }
    }
    public ArrayList<Message> getMessages(){
        ArrayList<Message> mess = new ArrayList();
        for(Message m:messages){
            mess.add(m);
        }
        return mess;
    }
    public static void main(String[] args) {

        // Try out your class here
        MessagingService ms = new MessagingService();
        System.out.println(ms.getMessages());
        Message m = new Message("sender", "message");
        ms.add(asdf);
        System.out.println(ms.getMessages());
    }

}

最佳答案

您好,如果您询问值得阅读的好文章,我可以向您推荐以下文章: https://www.freecodecamp.org/news/object-oriented-programming-concepts-21bb035f7260/

我还建议您阅读有关 Java 中的集合的内容,因为您在这里所做的事情:

!(this.messages.contains(message))

只是阻止向列表中添加重复项,所以也许您应该重新考虑并简单地使用 Set Collection?除非添加对象的顺序对您很重要(ArrayList 是有序的,而 Set 不是)。正如您在这个简单的示例中看到的,这里有许多重要的功能,有时选择正确的集合可以简化创建代码的过程。

之前的回答给你推荐了一些书。我个人觉得初学者很无聊,所以与其买书,不如在 Udemy 上找到好的类(class)并以更具互动性的方式学习?

https://www.udemy.com/course/java-the-complete-java-developer-course/

我认为这对初学者来说非常好而且有趣。

干杯并祝你一切顺利。

关于java - 在 arrayList 中添加对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61026422/

相关文章:

java - 从文件中获取信息并解析以获取方程

java - 从 java 更新 ldap

java - Swing VerticalBox 元素大小

java - SOAP 请求在 Weblogic 中返回 EOFException

java - 设置 Java SSL ServerSocket 使用的证书

javascript - 如何使用 Spring MVC 将 Java Map 放入 Optgroup 选项中?

java - 模拟Guava CacheLoader回调方法

java - 如何验证 Selenium 中某个字段的大胆外观

java - 在 SE 环境中处理实体管理器和事务的最佳实践(模式)是什么?

java - 最近更新了R/RStudio,rJava无法加载。