string字符串的这些知识你都知道吗 - 极悦
专注Java教育14年 全国咨询/投诉热线:444-1124-454
极悦LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 string字符串的这些知识你都知道吗

string字符串的这些知识你都知道吗

更新时间:2020-10-20 17:08:57 来源:极悦 浏览1073次

字符串是在实际的项目开发中一定会使用到的,是在java笔试题中都会经常出现字符串的考题,也是属于java基础范围的知识。其中string字符串是字符串中需要重点学习的一个,初学者需要在开始学习java的时候掌握好string字符串的知识,下面整理了string字符串的基础知识点,朋友们一起来学习吧!

image.png

先来对字符串的概念总结一下,什么是字符串?如果直接按照字面意思来理解就是多个字符连接起来组合成的字符序列。字符序列是把多个字符按照一定的顺序排列起来;而字符序列就是作为字符串的内容而存在的。所以可以把字符串理解为:把多个字符按照一定的顺序排列起来而构成的排列组合。


String字符串和char字符不同,char使用单引号,只能表示一个字符,字符串就是一段文本。String是个类。这个类使用final修饰,所以这个类是不可以继承扩充和修改它的方法的。String类又特别常用,所以在对String对象进行初始化时,它可以不像其它对象一样,必须使用new关键字构造对象。Java提供了一种简化的特殊语法。


String类表示不可变的字符串,当前String类对象创建完毕之后,该对象的内容(字符序列)是不变的,因为内容一旦改变就会创建一个一个新的对象。


String字符串对象的创建,有两种方式:方式一:通过字面量赋值创建,String s1 =“laofu”; 需要注意这里是双引号:“”,区别与字符char类型的单引号:‘’;方式二:通过构造器创建,String s2 = new String(“laofu”)。


以上两种创建方式的对象在JVM中又是如何分布的呢? 分别有什么区别呢?方式一:String s1 =“laofu”; 有可能只创建一个String对象,也有可能创建不创建String对象;如果在常量池中已经存在”laofu”,那么对象s1会直接引用,不会创建新的String对象;否则,会先在常量池先创建常量”laofu”的内存空间,然后再引用。方式二:String s2 = new String(“laofu”); 最多会创建两个String对象,最少创建一个String对象。可使用new关键字创建对象是会在堆空间创建内存区域,这是第一个对象;然后对象中的字符串字面量可能会创建第二个对象,而第二个对象如方式一中所描述的那样,是有可能会不被创建的,所以至少创建一个String对象。


String字符串对象的空值:(1)对象引用为空,即:String s1 = null; 此时s1没有初始化,也在JVM中没有分配内存空间;()对象内容为空字符串, 比如:String s2 =“”; 此时对象s2已经初始化,值为“”,JVM已经为其分配内存空间。


如何比较两个字符串?String内部实现了Comparable接口,有两个比较方法:compareTo(String anotherString) 和compareToIgnoreCase(String str)。(1)compareTo(String anotherString)与传入的anotherString字符串进行比较,如果小于传入的字符串返回负数,如果大于则返回证书。当两个字符串值相等时,返回0.此时eqauls方法会返回true;(2)equalsIgnoreCase(String str),该方法与compareTo方法类似,区别只是内部利用了Character.toUpperCase等方法进行了大小写转换后进行比较。


正在学习字符串的朋友们可以根据这篇文章来检测一下自己是否对string字符串的内容掌握了,上面的内容都是关于string字符串的基础知识,也是在java面试中会考察到的,所以希望大家可以好好学习上面的内容,并在实际项目中练习使用string字符串。


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>