`
红桃貳
  • 浏览: 39612 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java 学习笔记- string

阅读更多

  之前很多面试题问到关于"abc" 与 new String("abc")的区别,看到很多网上的解释,这里写下自己的理解.

据说有一个地方存放着Java的常量字符串,我们叫它常量池,此常量池是有String类privately 维护的,也就是默默的维护.

另外对于String类有一个方法叫intern(),当一个String实例调用intern()方法时:
首先通过equals()方法判断常量池中是否已经包含这个string 实例,如果包含那么intern()方法就返回这个字符串,如果常量池不包含这个string常量,那么这个string实例就被加到常量池,而且intern()方法返回一个对这个String实例的引用.

对于两个字符串常量s,t 当且仅当s.equals(t)时,s.intern()==t.intern();

还有Java中所有的String常量以及常量表达式都是已经被存放在常量池中的.

 

所以 “abc” 与 new String("abc") 的区别就是他们存放的地址是不一样的,但是两个不同的地址存放的值是一样的。

 

也就是说 “abc” == new String("abc") 是false,但是“abc”.equals(new String("abc")) 是ture。

 

说到这里要说的 == 与 equals的区别 ==比较的是存放两个字符串的地址是否为同一地址,而String 的equals方法被重写以后 是比较两个字符串的值。

另外关于String的相关东西可以参考参考:

http://blog.csdn.net/fover717/article/details/5764207?reload

 

 

分享到:
评论

相关推荐

    java笔记.zip

    尚硅谷康师傅java学习笔记。 、2020-4-5 java学习笔记 2020-4-6 java笔记 ---内部类 2020-4-6 java笔记 ---异常 2020-4-6 java笔记 --多线程 2020-4-8 java笔记 String类 2020-4-9 java 比较器 2020-4-10 java笔记 ...

    Java学习笔记---15.面向对象编程10-Java中final关键字,抽象类与接口

    好啊好啊 抽象类与接口是Java中最重要部分之一,这里用较大的篇幅来做下这部分的笔记. 1. final关键字 在Java中, 可以使用final关键字修饰类、方法以及成员变量。 (1).final标记的类不能被继承; (2).final标记...

    Java学习笔记-个人整理的

    {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{subsection.1.3.1} {1.4}数据类型}{23}{section.1.4} {...

    java学习笔记 初学者必读

    7.6.4. String 类 7-23 7.7. 抽象类 7-24 7.8. 接口 (模板方法模式) 7-25 7.9. Object 类 7-27 7.10. 封装类 7-28 7.11. 内部类 7-29 7.11.1. 内部类的分类 7-29 7.11.2. 成员内部类 7-29 7.11.3. 局部内部类 7-30 ...

    JAVA中String与StringBuffer的区别 自己的学习笔记总结

    JAVA中String与StringBuffer的区别 JAVA中String与StringBuffer的区别 自己的学习笔记总结

    java jdk8 学习笔记

    2.动态加载类别文档、字符串池(String Pool)等特性为节省内存而设计 3.jdk java development kit java 开发工具集 java se 平台包括jdk与java语言 ,(不知道编程语言是什么?可以这样想 :java 语言 ->类文件...

    java8源码-JavaRobot:Java学习笔记,JavaLearningNote

    学习笔记(持续更新中) 所有文章均同步发布到微信公众号【JavaRobot】,关注微信公众号,及时得到文章推送,谢谢支持。 说明:如无特别说明,所有代码都基于JDK8 JavaSE(Java基础) Java Core 关键字 synchronized...

    《良葛格Java JDK 5.0学习笔记》.rar

    包含java特性、java学习方法、网络资源汇总、jdk下载和安装、path与CLASSPATH的设置、java基本语法、关于对象的认识、数组、字符串(String类))、Ant简介、JUnit简介。 作者:林信良(网络化名良葛格) 学历:台湾大学...

    Java基础笔记,代码结构

    适合一些卖课程或者有学习过Java的人选。里面是Java一开始需要掌握的一些代码知识和常识,一些基础知识的笔记,Java代码的基本运用和代码里需要掌握的一些细节。

    Java学习笔记(必看经典)

    JAVA的面向对象编程--------课堂笔记 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物皆对象) 所有的事物都有两个方面: 有什么(属性):用来描述对象。 能够做...

    java学习笔记

    java课堂笔记PDF版,封装继承多态,String,int,递归,IO流,面向对象等等

    杰普学习corejava总结笔记

    2.构造器执行顺序 1.类加载,同时初始化类中静态... 3:toUpperCase()方法是String对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String类型)。 4:String类型不能进行减(-)运算,错误。

    java内部学习笔记.docx

    4.2 String类 31 4.3 StringUtils类 33 4.4 StringBuilder类 33 4.5正则表达式 34 4.6 Date类 35 4.7 Calendar类 35 4.8 SimpleDateFormat类 36 4.9 DateFormat类 36 4.10包装类 37 4.11 BigDecimal类 38 4.12 ...

    cyc学习笔记.pdf

    2021秋招学习笔记总结,包含Java基础、Java并发、数据库、redis等常用后端技术等内容。数据类型 注:包装类型中一般设有缓冲池,比如Integer、String。 1、Integer缓存池范围-128~127都是同一个地址,在缓存池范围...

    String学习笔记

    自己写的java学习笔记,有完整的体系结构,有思维导图帮助理解和记忆

    javajdk1.8源码-Java-source-reading:jdk1.8源代码分析

    缓慢更新一些个人学习java相关源码过程中的笔记,在这里你将不可避免地看到以下情况: 个别不懂/没想好的地方留空待补全 限于个人水平出现的解读错误 编辑错误 排版不统一 如发现有错,欢迎指正! 如果对你有用,...

    个人java总结笔记

    Class 对象由Java虚拟机在使用到该类的时候,自动创建; Class 对象的三种获取方式: 1: Class.forName(“全类名”); 2:类对象名.getClass(); 3:类名.Class(); 通过Class 对象获得类的指定成员,构造方法 构造方法...

    Java NIO学习笔记——ByteBuffer用法

    NULL 博文链接:https://zheng12tian.iteye.com/blog/1094811

    java-note:Java学习笔记

    Java笔记一,Java基础1.字符串(String,StringBuilder,StringBuffer) String :内部使用final char值[]存储,通过使用final关键字修饰,对象初始化后不能修改,属于定长字符串。 StringBuilder :内部使用char值...

Global site tag (gtag.js) - Google Analytics