栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

零基础也能轻松学会的Java基础教程(四)String

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

零基础也能轻松学会的Java基础教程(四)String

String概述

String被声明为 final,代表的是字符串常量,因此它不可被继承。每个用双引号括起来的字符串都是 String类的一个实例 

String e = "hello";

Java 8 中,String 内部使⽤ char 数组存储数据。

public final class String
 implements java.io.Serializable, Comparable, CharSequence {
 
 private final char value[];

而在 Java 9 之后,String 类的实现改⽤ byte 数组存储字符串,同时使⽤ coder 来标识使⽤了哪种编 码

public final class String
 implements java.io.Serializable, Comparable, CharSequence {
 
 private final byte[] value;
 
 private final byte coder;

value 数组被声明为 final,这意味着 value 数组初始化之后就不能再引⽤其它数组。并且 String 内部没 有改变 value 数组的⽅法,因此可以保证 String 不可变。

创建字符串
String s1 = "Runoob";              // String 直接创建
String s2 = "Runoob";              // String 直接创建
String s3 = s1;                    // 相同引用
String s4 = new String("Runoob");   // String 对象创建
String s5 = new String("Runoob");   // String 对象创建

String str = “hello word” //直接引用常量区
String str = new String(“hello world”) //在堆内存创建对象

new String("hello world") 使⽤这种⽅式⼀共会创建两个字符串对象(前提是常量池中没有此对象)

String s = "hello word" 和 String s = new String("hello word") 区别?
两个语句都会先去字符串常量池中检查是否已经存在 “hello word”,如果有则直接使用,如果没有则会在常量池中创建 “hello word” 对象。另外,String s = new String("hello word") 还会通过 new String() 在堆里创建一个内容与 "xyz" 相同的对象实例。

String常用方法
boolean equals(Object obj):比较字符串的内容是否相同
boolean equalsIgnoreCase(String str): 比较字符串的内容是否相同,忽略大小写
boolean startsWith(String str): 判断字符串对象是否以指定的str开头

int length():获取字符串的长度,其实也就是字符个数
char charAt(int index):获取指定索引处的字符
int indexOf(String str):获取str在字符串对象中第一次出现的索引
String substring(int start):从start开始截取字符串
String substring(int start,int end):从start开始,到end结束截取字符串。前闭后开

Java String API文档

更多详情,请参考参看 Java String API 文档:


 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/665968.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号