Never forget why you started,
and your mission can be accomplished.

字符串

String类是线程安全,是不是不可变就意味着是线程安全的?

zhouchong阅读(24)评论(0)

这个题目的意思就是说一个对象是不可变的,那么对这个对象的操作就一定是线程安全的嘛?答案是否定的。 1、不可变类与可变类的区别? 不可变类:这个类的实例一旦创建完成后,就不能改变其成员变量值。如JDK内部自带的很多不可变类:Interger、...

字符串的startsWith和endWith方法

zhouchong阅读(108)评论(0)

startWith()、endWith() 分别用于是否以指定的内容开始或结束。返回都是布尔类型。 startsWith(): 例如:if(a.startsWith(b)) //判断字符串a 是不是以字符串b开头。 语法1 public b...

为什么String类是不可变的

zhouchong阅读(209)评论(0)

String是所有语言中最常用的一个类。我们知道在Java中,String是不可变的、final的。Java在运行时也保存了一个字符串池(String pool),这使得String成为了一个特别的类。 String类不可变性的好处 只有当...

String和StringBuffer和StringBulider

zhouchong阅读(343)评论(0)

1、为什么要引入其它两种字符串处理类? 说白了就是提高字符串连接效率。在大部分情况下,字符串的拼接速度为:StringBuilder>StringBuffer>String。 String是不可变的,因此每次对其操作改变其变量值...

String字符串概述

zhouchong阅读(318)评论(0)

1、字符串的创建方式? 引号创建的字符串在字符串池中。 new创建字符串时首先查看池中是否有相同值的字符串,如果有,则拷贝一份到堆中,然后返回堆中的地址;如果池中没有,则在堆中创建一份,然后返回堆中的地址(注意,此时不需要从堆中复制到池中,...

String常见问题

zhouchong阅读(170)评论(0)

String str = null与String str = “”的区别是什么 String str = null表示声明了一个string对象的引用str,但是没有为其分配内存空间。   String str = “”表示创建了...

关于String对象的不可变性

zhouchong阅读(466)评论(0)

关于常量池 Java内存分配机制: Java内存分配机制主要有两种,分别为堆和栈。 栈中主要存放一些基本类型的变量数据(int ,float等)和对象引用 堆是一个运行时数据区保存通过new指令建立的对象会有垃圾回收器负责回收 但是Stri...