`
hisdonkey
  • 浏览: 11662 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

值比较、集合清理问题

    博客分类:
  • J2SE
 
阅读更多
1.Long型、Integer型等与Long型、Integer型或long、int比较时,为确保正确
Long.longValue() == Long.longValue()
Long.longValue() == long
Integer.intValue() == Integer.intValue()
Integer.intValue() == int
否则很可能会出现一些值的确相等,但是判断结果为false的情况
其他一些对基本类型变量进行包装的类同样如此

2.List<Object> objects
for(Object object : objects) {
   if(object.getField()==value) {
      objects.remove(object);
   }
}

实际中发现这样很容易出现问题并抛出异常,并且符合要求的对象并未被清除干净,保险的写法:
for(Iterator iter=objects.getIterator();iter.hasNext();) {
   if(iter.get().getField()==value) {
      iter.remove();
   }
}
分享到:
评论

相关推荐

    集合类及其分支

    WeakHashMap是一种特殊的哈希表,它使用弱引用作为键,当键不再被引用时,即使没有显式地从集合中移除,也会自动清理。 **Map接口** Map接口存储键值对,不直接继承自Collection接口。常见的Map实现有Hashtable、...

    经典Java面试题集合整理

    - `finalize`:这是Java中用于垃圾回收的一个特殊方法,垃圾收集器在对象即将被回收时会调用`finalize()`,用于执行对象清理工作。但不应依赖`finalize()`进行资源释放,因为它可能永远不会被执行。 2. **匿名内部...

    JAVA笔试题目集合

    - `Integer`是`int`的包装类,它可以被视为对象,支持`null`值,提供了许多额外的方法来操作整数,如转换、比较等。 ### ArrayList、Vector、LinkedList的区别 - **ArrayList**和**Vector**都是基于数组实现的列表...

    JAVA面试问题集合

    ### JAVA面试问题集合详解 #### 1. final, finally, finalize 的区别 在JAVA中,`final`, `finally`, `finalize` 这三个关键词虽然在拼写上有相似之处,但它们各自代表的意义和用途却截然不同。 - **final**:这...

    C语言的函数集合

    C语言的函数集合是编程中不可或缺的部分,它们提供了丰富的功能,可以帮助开发者完成各种任务。以下是一些常见的C语言函数的详细说明: 1. `abort` 函数:此函数用于异常终止进程,通常在遇到无法恢复的错误时使用...

    matlab -集合运算.doc

    在MATLAB中,集合运算是一种处理数据的有效方法,尤其在数据清理、数据分析和算法实现时。以下是对集合运算符的详细说明: 1. **集合并(Union):** `union(a,b)` 或 `union(a,b,’rows’)` 集合并操作用于合并两个...

    Java 集合框架高难度进阶版面试题集锦解析

    Java 集合框架是Java编程语言中一个重要的组成部分,它提供...理解这些集合框架的关键概念和它们之间的区别,对于解决实际开发中的问题和通过高级面试至关重要。熟练掌握这些知识点,可以有效提高代码质量和运行效率。

    java笔试题大集合及答案

    - 方法:定义、调用、重载和重写的概念,以及参数传递机制(按值传递和按引用传递)。 2. **面向对象编程** - 类与对象:了解如何创建和实例化类,以及类的封装、继承和多态性。 - 构造器:初始化对象的方法,...

    MakeFile参考资料集合

    `clean`目标用于清理编译过程中产生的临时文件。 编写Makefile时,需要注意以下几点: 1. **变量**:Makefile中的变量可以存储常量,如`CC=gcc`设置编译器为gcc,或者`CFLAGS=-Wall`设置编译选项。使用`$()`来引用...

    sqlserver的存储过程与 where in 多值参数

    当涉及到处理多个值时,我们常常会遇到如何将这些值作为参数传递给存储过程的问题。本文将探讨在SQL Server中,存储过程与`WHERE IN`子句结合使用时,处理多值参数的几种方法。 **方法一:拼接SQL字符串并调用`EXEC...

    ant 配置文件集合

    - Ant提供了多种条件语句,如`&lt;available&gt;`检查文件或目录是否存在,`&lt;equals&gt;`比较两个值是否相等。 - 条件语句可以与`&lt;if&gt;`和`&lt;unless&gt;`元素结合,控制目标或任务的执行。 6. **宏定义(Macrodef)** - 宏定义...

    UniGUI集合说明--追月无名.pdf

    ### UniGUI集合说明知识点概述 #### 1. 事件中的代码在服务器端和客户端,哪一端执行? 在UniGUI中,事件处理通常涉及到客户端(浏览器)与服务器端(UniGUI应用程序所在的服务端)之间的交互。事件触发后,其相关...

    java初始化和清理

    常见的内存泄露来源包括未关闭的资源、循环引用和静态集合中存储过多数据等。在处理类似问题时,代码审查和使用内存分析工具是很有帮助的。 以上是Java初始化和清理相关的知识点。在实际开发过程中,理解和正确使用...

    spring mvc拦截器过滤json中的null值

    这个拦截器的实现简单且高效,避免了后端处理null值时可能出现的问题,同时也使得传递的数据更加整洁。 注意,此解决方案使用了Jackson库来解析和序列化JSON,确保你的项目中已经包含了`jackson-databind`依赖。...

    RedisTemplate常用集合使用说明-opsForZSet(六)

    另外,合理设计有序集合的key,避免过大的集合导致内存压力,以及定期清理无用数据,保持数据库的整洁。 总的来说,RedisTemplate的opsForZSet接口为Java开发者提供了便利的工具,能够轻松操作有序集合,满足多种...

    java面试陷阱集合

    16. **Set元素比较**:Set中的元素比较使用equals()方法,不使用==,因为==比较的是对象的引用,而equals()比较的是内容。 17. **运行时异常**:常见的运行时异常如NullPointerException、...

    用于自动数据预处理和清理的Python包。_Python_下载.zip

    "用于自动数据预处理和清理的Python包"是一个专为此目的设计的工具集合,它可以帮助数据科学家和分析人员节省时间和精力,使他们能够快速有效地准备数据。 在Python中,数据预处理通常涉及以下几个关键步骤: 1. *...

    Glassfish 3.1.2.2 JPA問題整理 EclipseLink 如何更新1

    问题二:TcUser类有多余的集合关系,但在JPA注入时没有值。 在david的车船监控应用中,遇到了类似的问题,即TcUser对象与其他对象的集合关系在JPA注入时没有被正确处理。这同样可能是由于JPA元数据的问题,或者与...

    JAVA面试题目集合

    - **finalize**:这是`Object`类中的一个方法,可以在对象被垃圾回收器回收之前进行一些清理工作,比如关闭不再使用的资源。虽然可以覆盖此方法,但在现代Java中并不推荐使用这种方式管理资源。 #### 二、匿名内部...

    rebook:清理书本扫描的工具集合

    batch.py包含一个用于裁剪图像集合的各种输入格式并创建PDF的系统。 变形 dewarp.py包含两种变形算法的实现: 目前假定焦距是iPhone 7的焦距,因为这就是我一直在测试的焦距。 如果使用其他相机,请更改此文件顶部...

Global site tag (gtag.js) - Google Analytics