`
xuanzhui
  • 浏览: 201408 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

java容易忽略的问题

阅读更多

1. float运算的坑

float f = 9.9f;
float m = f * 100.0f;
System.out.println(m);

 

 结果并不是990

不管是乘以100还是100.0f

 8.9f 也有这个问题

 

 2. string split问题

String ss = "5.11.17.0/24,,2635167,,0,1,,,,";
int i = 0;
System.out.println("size: " + ss.split(",").length);
for (String s : ss.split(",")) {
    System.out.println(String.format("str [%d]: [%s]", i, s));
    i++;
}

 可以发现输出的size是6,后面的空串都直接被丢弃了,而中间的是被保留的

 

3. Boolean.TRUE本质上是预定义的new Boolean(true)

    public static final Boolean TRUE = new Boolean(true);

Boolean trueA = new Boolean(true);
System.out.println(trueA == Boolean.TRUE); //false!!!
System.out.println(trueA == true); //true
所以在确定Boolean类型的变量不为null的时候,最好还是和true,false比较,或者直接放if里面

 

同样的对于Integer和String,如果指向同一个常量,那么直接用==比较是相等的,但是如果是新new出来的,用==比较就不相等了

Integer int1 = 1;
Integer int11 = new Integer(1);
System.out.println(int1 == int11); //false!!!

 

 

 

 

分享到:
评论

相关推荐

    写Java程序最容易犯的错误例析

    ### 写Java程序最容易犯的错误例析 在软件开发过程中,编写高质量的代码是非常重要的。良好的代码不仅能提高系统的可维护性和可扩展性,还能减少未来的维护成本。本文将详细介绍编写Java程序时最常见的21个错误,并...

    Java Https请求,跳过证书,直接访问

    注意:这种方法仅适用于开发和测试环境,不应用于生产环境,因为它会削弱安全性,使得系统容易受到中间人攻击。在生产环境中,你应该始终验证服务器证书,以保护用户的数据安全。 至于提到的"相关jar包全有",这...

    java基础(最容易被忽略的细节)

    java程序员必看的文档,对于巩固java基础、提升技术能力的人来说绝对是最好的选择。

    Java程序员容易犯的10个错误

    本文将针对Java程序员容易犯的10个错误进行详细讲解,帮助大家避免这些陷阱。 1. **Array 转 ArrayList**: 当使用`Arrays.asList()`方法将数组转换为列表时,返回的是`java.util.Arrays.ArrayList`,这是一个内部...

    学习java的积点忽略之处

    以上只是学习Java过程中容易被忽略的一些知识点,实际上,Java的世界远比这复杂。持续深入学习,不断实践和总结,才能真正掌握这门语言。阅读和记录读书笔记,是提高学习效率的有效方式,希望我的笔记能对你有所帮助...

    JAVA 学习之路

    Java - 近10年来计算机软件发展过程中的传奇,其在众多开发者...嗯,这是个容易但又绝对不应该忽略的问题,你确信自己对Java感兴趣、而且又有吃苦的准备,那你才可能学好Java!如果具备这两点条件,就请继续往下看……

    Java Jar包混淆器proguard.v3.8

    8. **retrace.jar**:当遇到混淆后的堆栈跟踪信息时,ReTrace工具(包含在retrace.jar中)可以帮助开发者解混淆这些信息,从而更容易地定位错误和异常。 9. **在Android开发中的应用**:在Android Studio中,...

    http过代理和忽略ssl证书

    本文将深入探讨“HTTP过代理和忽略SSL证书”这一主题,帮助你解决对接网站突然由HTTP改为HTTPS以及服务器增加代理的问题。 首先,HTTP(超文本传输协议)是互联网上应用最广泛的一种数据传输协议,用于从万维网...

    javacv-1.4.4-source_javacv-1.4.4_JAVACV_图像处理_

    这个项目的目标是使得在Java和Android平台上进行图像处理和计算机视觉研究变得更加容易。 标题"javacv-1.4.4-source_javacv-1.4.4_JAVACV_图像处理_"表明这是一个关于JavaCV 1.4.4版本的源代码包,主要关注图像处理...

    Java学习时容易陷入的误区

    Java学习时,初学者往往容易陷入一些误区,这些误区可能会阻碍他们的学习进程和技能提升。以下是一些常见的问题和相应的解决建议: 1. **盲目追求高级特性**:有些学习者在接触Java时,过于热衷于尝试最新的特性和...

    使用jmap分析Java程序性能问题

    这种方法对于解决复杂的内存问题特别有效,因为它允许在不同时间点比较堆内存的状态,从而更容易发现内存使用模式的变化。 ##### 查看活动对象的直方图 通过`-histo:live`选项,jmap只统计当前存活的对象,并生成...

    java初学者必看 java初学者必看

    这种方式虽然灵活但容易出错,例如常见的内存泄漏问题。而Java则通过自动化的GC机制解决了这一问题,这使得Java成为一种更加安全、易于维护的语言。 #### Java与C++中的内存管理区别 在C++中,程序员需要显式地...

    Java_IO流详解

    对于初学者而言,IO 部分是容易忽略的内容,求职者一定要掌握该知识点。 Java 的 IO 模型设计非常优秀,它使用 Decorator 模式,用户可以动态装配不同功能的 Stream,以便获得需要的功能。例如,需要一个具有缓冲...

    JavaIO流详解归纳.pdf

    特别是对于初学者而言,IO 部分是容易忽略的内容,但是在项目开发中,IO 是非常基础的部分。 此外,Java 也对块传输提供支持,在核心库 java.nio 中采用的便是块 IO。块 IO 效率很高,但编程比较复杂。流 IO 的好处...

    java初学者的工具ppt文件

    嗯,这是个容易但又绝对不应该忽略的问题,你确信自己对Java感兴趣、而且又有吃苦的准备,那你才可能学好Java!如果具备这两点条件,就请继续往下看…… 2. 准备一下 请不要把你的学习Java之路和其它计算机技术分开...

    几个有意思的java程序,考考你的java功底

    这个谜题展示了Java中一些容易被忽视的细节。通过深入理解`Boolean.getBoolean`和`Boolean.parseBoolean`的区别,我们不仅能够避免此类错误,还能够在编写健壮、可靠的Java应用程序时更加得心应手。

    JAVA基础易错总结(50%你不知道)

    再者,内存管理也是Java初学者容易困惑的地方。Java通过垃圾回收机制自动管理内存,但这并不意味着开发者可以忽视内存泄漏的问题。理解对象生命周期,知道何时创建和销毁对象,以及何时使用弱引用、软引用等,能够...

    Java学习七宗罪

    ### Java学习七宗罪 ...综上所述,《Java学习七宗罪》这篇文章从多个方面指出了Java学习过程中容易出现的问题,并提供了相应的解决策略。遵循这些建议,可以帮助学习者少走弯路,更快地成为一名合格的Java开发者。

    java常见疑惑与陷阱

    在这个例子中,`Person`类的`equals()`方法只比较了`name`属性,而忽略了其他可能重要的属性。 **建议:** - 实现`equals()`时,考虑所有重要的属性。 - 遵循Java官方文档中关于`equals()`的约定。 #### 二、集合...

Global site tag (gtag.js) - Google Analytics