public static void main(String[] args){

String a=new String("ddy");
String b=new String("ddy");
System.out.println("a:"+a.hashCode());
System.out.println("b:"+b.hashCode());
System.out.println("equals:"+(a.equals(b)));
System.out.println("a==b:"+(a==b));

}

输出为:

a:99321
b:99321
equals:true
a==b:false

String a = new String("段丁阳")创建了两个对象,一个是在常量池中,一个是在堆内存中,常量池的为"ddy";堆内存中为new String();而该对象又指向在常量池中的字符串常量。

而a==b比较的正是new String()的内存地址,a的new String()与b的new String()内存地址显然是不同的,所以a==b返回false

但是a.hashCode与b.hashCode相等,hashCode并不能代表内存地址

String a = "aa";与String a = new String("aa");最根本的区别是:
String a = "aa";创建了一个字符串变量。a 是指向栈中的"aa";
而String a = new String("aa");创建的是一个对象。a 是指向堆中"aa"的地址。

new String()理解的更多相关文章

  1. Java常量字符串String理解

    Java常量字符串String理解 以前关于String的理解仅限于三点:1.String 是final类,不可继承2.String 类比较字符串相等时时不能用“ == ”,只能用  "eq ...

  2. Java常量字符串String理解 String理解

    以前关于String的理解仅限于三点:1.String 是final类,不可继承2.String 类比较字符串相等时时不能用“ == ”,只能用  "equals" 3.Strin ...

  3. 关于java.lang.String理解中的一些难点

    最近温习java的一些基础知识,发现以往对String对象认识上的一些不足.特汇总如下,主要是帮助记忆,如能对其他朋友有些启发,不胜欣喜. String在JVM中内存驻留问题 JVM的常量区(Cons ...

  4. JavaScript 进阶(五)易混淆概念null vs undefined, == vs ===, string vs String

    先看一段代码 var foo = {} foo.a = null alert(foo.a == null)     //true alert(foo.a === undefined)  //false ...

  5. C++ STL string对象操作汇总

    string对象 C语言只提供了一个char类型用来处理字符,而对于字符串,只能通过字符串数组来处理,显得十分不便.C++STL提供了string基本字符系列容器来处理字符串,可以把string理解为 ...

  6. string基本字符系列容器(一)

    C++STL提供了string基本字符系列容器来处理字符串,可以把string理解成字符串类,它提供了添加,删除,替换,查找和比较等丰富的方法. 使用string容器,需要头文件包含声明#includ ...

  7. C++之string基本字符系列容器

    string基本字符系列容器 C语言只提供了一个插入类型用来处理字符, 而对于字符串, 只能通过字符串数组来处理, 显得十分不便. C++STL提供了string基本字符系列容器来处理字符串, 可以把 ...

  8. NET运用String的十八层境界

    古往今来,文本处理一直是所有编程语言的最基础的功能,也是最核心最重要的功能.任何初学者,如果想学一门编程语言,都要面对大量的文本处理.而或许有一天,即使你成了大师级的人物,也不敢说自己驾驭文本处理的能 ...

  9. C++ STL简述

    前言 最近要找工作,免不得要有一番笔试,今年好像突然就都流行在线笔试了,真是搞的我一塌糊涂.有的公司呢,不支持Python,Java我也不会,C有些数据结构又有些复杂,所以是时候把STL再看一遍了-不 ...

随机推荐

  1. 最简单的教程:在Ubuntu操作系统里安装Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  2. 植物大战僵尸游戏的开发(python)

    装备东西: 搭建好python环境, 四张图片,(背景图片,炮弹图片,僵尸图片,豌豆图片),就ok了  没有安装pygame的需要进行安装  pip install pygame 参考视频 # 植物大 ...

  3. Linux一些常用小命令

    使用xshell连接虚拟机 rz 上传的linux服务器 sz 从服务器上下载 df 查看磁盘大小 -h du 查看所有磁盘(硬盘)大小(-h 可读  -s统计当前目录的大小)du -sh free ...

  4. exportfs - 管理NFS共享文件系统列表

    概述 (SYNOPSIS) /usr/sbin/exportfs [-avi] [-o options,..] [client:/path ..] /usr/sbin/exportfs -r [-v] ...

  5. 在CNN网络中roi从原图映射到feature map中的计算方法

    在使用fast rcnn以及faster rcnn做检测任务的时候,涉及到从图像的roi区域到feature map中roi的映射,然后再进行roi_pooling之类的操作.比如图像的大小是(600 ...

  6. 实训day02 python

    一.数据类型 列表: 定义:在[]内,可以存放多个任意类型的值,并以逗号隔开: 一般用于存放学生的爱好,课堂的周期等. 定义一个学生列表,可存放多个学生 students = ['A','B','C' ...

  7. python+selenium自动化登录dnf11周年活动界面领取奖励登录部分采坑总结[1]

    背景: Dnf的周年庆活动之一,游戏在6月22日 06:00~6月23日 06:00之间登陆过游戏后可以于6月25日 16:00~7月04日 06:00领取奖励 目标:连续四天自动运行脚本,自动领取所 ...

  8. 高逼格关闭Win10防火墙

    作为一个开发人员,你还需要进入这个界面来关闭防火墙么? 如果是,那么现在,我将为大家介绍一种高逼格的方式: 第一步: 打开Windows PowerShell(管理员) 第二步:查看当前防火墙状态:n ...

  9. python解决鸡兔同笼问题

    # 这个问题,是我国古代著名趣题之一. # 大约在1500年前,<孙子算经>中就记载了这个有趣的问题. # 书中是这样叙述的:“今有雉兔同笼,上有三十五头,下有九十四足, # 问雉兔各几何 ...

  10. ruby on rails全局布局,局部视图,局部布局

    参考链接:http://guides.ruby-china.org/layouts_and_rendering.html#%E9%9D%99%E6%80%81%E8%B5%84%E6%BA%90%E6 ...