zoukankan      html  css  js  c++  java
  • java中==和equals()方法

      java 程序中测试两个变量是否相等有两种方法:

    • ==
    • equals()方法

    当使用==判断两个变量是否相等时,如果两个变量是基本类型变量,且都是数值类型(不一定要求数据类型严格相同),则只要两个变量的值相等时,才会返回true

    public class m{
    10     public static void main(String[] args){
    11         String str1 = "abc";
    12         String str2 = "abc";
    13         System.out.println(str1 ==str2);
    14         String str3 = new String("hello");
    15         String str4 = new String("hello");
    16         System.out.println(str3 == str4);                           
    17         System.out.println(str3.equals(str4));
    18     }
    19 }

    运行结果

    String 有一个非常容易迷惑的地方:"hello"直接量和new String("hello")有什么区别?

    当我们直接将形如"hello"的字符串直接量时,JVM将会使用常量池来管理这些字符串;

    当使用new String("hello")时,JVM会先使用常量池来管理"hello"直接量,在调用String 类的构造器来创建一个新的String对象,新创建的String对象被保存在堆内存当中。

    常量池专门用于管理在编译时被确认并保存在已经编译的.class文件中的一些数据。

    笨鸟先飞
  • 相关阅读:
    Python 数据处理 正则匹配,清洗脏数据
    Pycharm自用激活码
    编程杂谈 集群与分布式
    win10 向右键添加管理员级CMD
    win10 笔记本键盘永久屏蔽Numlk键
    Golong 环境搭建
    python 各种锁机制归纳整理
    MySQL数据库操作
    Web框架本质
    Django框架
  • 原文地址:https://www.cnblogs.com/zoutingrong/p/14203607.html
Copyright © 2011-2022 走看看