java 中容易误解的地方

1,equals

@Test
    public void test_equal(){
        String a="1";
        int b=1;
        boolean result=a.equals(b);
        System.out.println(result);
    }

原因:equals 比较时自动把转化为包装类型了
运行结果是:
false
应该改为:

@Test
    public void test_equal(){
        String a="1";
        int b=1;
        boolean result=a.equals(String.valueOf(b));
        System.out.println(result);
    }

2,包装类型

@Test
    public void test_equal2(){
        Long a=229L;
        Long b=229L;
        System.out.println((a==b));
    }

运行结果:false

@Test
    public void test_equal2(){
        Long a=29L;
        Long b=29L;
        System.out.println((a==b));
    }

运行结果为:true
应该改为:

@Test
    public void test_equal2(){
        Long a=229L;
        Long b=229L;
        System.out.println((a.intValue()==b.intValue()));
    }
时间: 2024-10-21 18:41:52

java 中容易误解的地方的相关文章

Java中使用final修饰符需要注意的地方

对与java中的final变量,java编译器是进行了优化的.每个使用了final类型变量的地方都不会通过连接而进行访问.比如说Test类中使用了Data类中一个final的int数字fNumber=77,这时候,java编译器会将77这个常数编译到Test类的指令码或者常量池中.这样,每次Test类用到fNumber的时候,不会通过引用连接到Data类中进行读取,而是直接使用自己保存在类文件中的副本. 用程序说话: C:\>javac Test.javaTest.java: public cl

mysql-新手求教 java中使用MYsql后查询结果怎么输出到别的地方

问题描述 新手求教 java中使用MYsql后查询结果怎么输出到别的地方 按钮点击事件做完了能连接到数据库可惜输入条件后点击查询只在Eclipse中显示数据库连接成功 而查询并没有显示查询结果 求解 解决方案 在后台找执行的sql,在 数据库中查询,看有没有数据 解决方案二: 参考 http://zhidao.baidu.com/question/559756306057754404.html 解决方案三: 数据库查询结果,可以直接用System.out.print打印到控制台界面: 也可以创建

Java中的static关键字解析

static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题. 以下是本文的目录大纲: 一.static关键字的用途  二.static关键字的误区  三.常见的笔试面试题 一.static关键字的用途   在<Java编程思想>P86页有这样一段话: "static方法就是没有this的方法.在st

深入解析Java中的Class Loader类加载器_java

类加载的过程类加载器的主要工作就是把类文件加载到JVM中.如下图所示,其过程分为三步: 1.加载:定位要加载的类文件,并将其字节流装载到JVM中: 2.链接:给要加载的类分配最基本的内存结构保存其信息,比如属性,方法以及引用的类.在该阶段,该类还处于不可用状态: (1)验证:对加载的字节流进行验证,比如格式上的,安全方面的: (2)内存分配:为该类准备内存空间来表示其属性,方法以及引用的类: (3)解析:加载该类所引用的其它类,比如父类,实现的接口等. 3.初始化:对类变量进行赋值. 类加载器的

Java中的static关键字全面解析_java

static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题.以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区 三.常见的笔试面试题 若有不正之处,希望谅解并欢迎批评指正. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.com/dolphin05

java中为什么有的变量声明而不赋值?

问题描述 java中为什么有的变量声明而不赋值? java中为什么有的变量声明而不赋值?而有的就值,那什么情况下要赋值,什么情况下不赋值 解决方案 比如对象变量,而调用这个变量的构造函数非常耗费时间,所以我们等用到的时候再创建,如果程序运行完都不访问它,就根本不创建,这样可以提高效率. 对于简单变量,比如int float一类的,建议随手给一个初始值. 解决方案二: 你这个问题给你举个例子,你应该就能理解了 例如: int a; 这是只声明不赋值,则只会在内存的栈区创建引用,堆中并无此引用的指向

理解Java中的引用传递和值传递

关于Java传参时是引用传递还是值传递,一直是一个讨论比较多的话题,有论坛说Java中只有值传递,也有些地方说引用传递和值传递都存在,比较容易让人迷惑.关于值传递和引用传递其实需要分情况看待,今天学习和分析一下,着急可以先看最后的结论. >>基本类型和引用类型在内存中的保存 Java中数据类型分为两大类,基本类型和对象类型.相应的,变量也有两种类型:基本类型和引用类型. 基本类型的变量保存原始值,即它代表的值就是数值本身: 而引用类型的变量保存引用值,"引用值"指向内存空间

Java中的常量:如何避免反模式

在应用中,我们往往需要一个常量文件,用于存储被多个地方引用的共享常量.在设计应用时,我也遇到了类似的情况,很多地方都需要各种各样的常量. 我确定需要一个单独的文件来存储这些静态公共常量.但是我不是特别确定是应该用接口还是类(枚举不满足我的需求).我有两种选择: 使用接口,如: package one; public interface Constants { String NAME="name1"; int MAX_VAL=25; } 或 package two; public cla

Java中static、this、super、final用法

一.static  请先看下面这段程序:   public class Hello{     public static void main(String[] args){ //(1)       System.out.println("Hello,world!");   //(2)     }   } 看过这段程序,对于大多数学过Java 的从来说,都不陌生.即使没有学过Java,而学过其它的高级语言,例如C,那你也应该能看懂这段代码的意思.它只是简单的输出"Hello,w