java深入解析-第3章 String类

原创 2015年07月07日 14:29:30

1、如果是在循环中对String对象进行连接,应该直接使用StringBuilder代替String的”+”连接,这样可以提高性能。
2、对于编译时常量,在编译后直接计算出字符串的值,而不会再运行时创建临时的StringBuilder对象来完成字符串连接。
3、String对象是不可变的。因为String类是final类型的,我们无法继承该类。
4、String类那些看似修改字符序列的方法实际上都是返回新创建的String对象,而不是修改自身对象。
5、由于String对象是不可改变的,因此其具有线程安全性,可以自由地实现共享。
6、在String类内部,是使用一个字符数组(char[])来维护字符序列的。
7、从Object类继承的equals方法与“==”运算符的比较方式是相同的。如果继承的equals方法对我们自定义的类不适用,则可以重写equals方法。
8、equals有五条规则:

  • 自发性
  • 对称性
  • 传递性
  • 一致性
  • 对于任何非空引用值x,x.equals(null)应返回false。
    在重写时必须遵守这五条规则,否则该类与其他类交互时,会发生错误。

9、在重写equlas时,必须也要重写hashCode方法。
10、String s1=new String(“abc”);和String s2=”abc”;是不一样处理方式的。后者如果有s3=”abc”,s2==s3是true。
11、当String对象调用intern方法时,如果常量池中已经含有该对象(通过equals方法来判断),则返回常量池中的String对象。如果不存在,则将该对象加入常量池中,并返回该对象。
12、程序中出现String编译时常量(String字面常量与String常量表达式)时,会自动调用intern放安抚。然而运行时创建的String对象,会分配到堆中。

c#第四章深入String类上机题2

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T...
  • qq_36074113
  • qq_36074113
  • 2016年11月15日 14:37
  • 573

《深入剖析Tomcat 》第3章 连接器(Connector)

第3章  连接器(Connector) 3.1  概述 在简介一章里说明了,tomcat由两大模块组成:连接器(connector)和容器(container)。本章将使用连接器来增强ap...
  • u011345136
  • u011345136
  • 2015年04月27日 14:58
  • 393

String 源码解析,深入认识String

String 源码浅析
  • zhcswlp0625
  • zhcswlp0625
  • 2017年02月26日 21:53
  • 3518

深入理解Java虚拟机JVM高级特性与最佳实践阅读总结—— 第十二章 Java内存模型与线程

Java内存模型JMM,主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存读取变量的底层细节,这里的变量不包括线程私有的变量,如局部参数;内存模型规定所有变量存储在主内存;每...
  • sagwsagw
  • sagwsagw
  • 2017年03月01日 21:14
  • 302

[深入理解Java虚拟机]第十二章 Java内存模型与线程-Java内存模型

Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。在此...
  • qilixiang012
  • qilixiang012
  • 2015年11月07日 17:14
  • 652

深入Java虚拟机(4)——网络移动性

一、软件应用程序发展的几个阶段软件应用程序发展经历了如下几个阶段:服务于多个终端用户的大型计算机系统 孤立的个人计算机上运行孤立的软件 客户机/服务器模式 分布式处理模式 内容服务模式(网...
  • u013142781
  • u013142781
  • 2016年02月22日 20:12
  • 1499

[深入理解Android卷二 全文-第二章]深入理解Java Binder和MessageQueue

由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容 第2章  深入理解Java...
  • Innost
  • Innost
  • 2015年08月03日 10:39
  • 5482

accp7.0S2深入.net和c#第三章上机123

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin...
  • baidu_36074048
  • baidu_36074048
  • 2017年02月13日 17:35
  • 985

Java - Thinking in Java 第2章 练习

Thinking in Java1//: object/HelloDate.java /** * Default initialize class. * @author C.L.Wang * @...
  • u012515223
  • u012515223
  • 2015年07月06日 23:14
  • 1393

《 Thinking in Java 》_第3章_操作符_练习题

如果熟悉C或C++的语法,那么只需快速浏览本章和下一章,看看Java与这些语法直接的差异。如果觉得很难理解这两章内容,可以去网站免费下载多媒体课程《Thinking in C》,可快速掌握学习Java...
  • waterydd
  • waterydd
  • 2017年04月19日 10:32
  • 418
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java深入解析-第3章 String类
举报原因:
原因补充:

(最多只允许输入30个字)