java - 防止列表中的重复项目打印到单元格表gwt

标签 java gwt

如果我有一个名为“TestClass”的类,其中充满了 getter 和 setter,然后我在另一个类中的类对象上设置了一些属性,如下所示:

            TestClass testClass = new TestClass();

            testClass.setAppId("id");
            testClass.setStatus("Status");
            testClass.setMessage("Message");

            List<TestClass> list = dataProvider.getList();

然后,在将此对象添加到我的 java 列表之前,我必须确保它不存在于列表中以避免重复。

为了实现此目的,我执行以下检查以查看相应值的所有三个属性是否都存在于列表中的 testClass 对象中。如果他们不这样做,那么它可能会被添加到列表中。

            if(!list.contains(testClass.getAppId().equals("id")) &&
               !list.contains(testClass.getStatus().equals("Status")) &&
               !list.contains(testClass.getMessage().equals("Message"))) {
                list.add(testClass);
            }

     dataProvider.refresh();

上面的代码位于点击处理程序中,因此仅在单击按钮时执行。

为什么尽管我徒劳地尝试阻止重复项进入列表,但我却无法阻止将重复记录添加到 gwt 中的单元格表中?

我认为列表逻辑是问题所在是错误的吗?

感谢您的帮助,我希望我已经足够彻底了。

最佳答案

您的 testClass.getAppId().equals("id") 调用返回 truefalse。您的列表不“包含”truefalse,因此条件变为 true 并且添加了该元素。代码应如下所示:

for(TestClass testClass: list){

    if(!testClass.getAppId().equals("id") &&
        !testClass.getStatus().equals("Status") &&
        !testClass.getMessage().equals("Message")){

        list.add(testClass);
    }
}

dataProvider.refresh();

关于java - 防止列表中的重复项目打印到单元格表gwt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31270545/

相关文章:

java - 在子类中调用父类方法

java - 任何复杂的 Java 桌面式 GUI 示例项目?

基于 Java 的 Web 框架替代品

java - 如何让gradle/Eclipse/play框架协同工作?

Java如何格式化字符串?

java - 如何使用 HttpURLConnection PUT 数据

java - App Engine 连接的 Android 应用程序警告 : You must run the ValidationTool as part of your server build process

java - 在java快速排序中添加额外的排序条件

java - Google Web Toolkit 是否类似于 AWT 和 Swing

java - GWT Locale 在地址栏中有效,但在元中无效