纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

Java String类 Java String类用法详解

入错行的北北   2021-06-24 我要评论
想了解Java String类用法详解的相关内容吗入错行的北北在本文为您仔细讲解Java String类的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Java,String类,Java类下面大家一起来学习吧

一、简介

零碎知识点

  • extends Object
  • implements serializableComparable< String >,charSequence
  • String类表示字符串所有字符串文字都是此类的对象
  • 字符串是不变的值在创建后无法更改
  • 对象一旦声明则不可改变改变的只是地址原来的字符串还是存在的并且产生垃圾
  • 任何一个“”都为字符串对象无赋值则为匿名对象
  • 用“+”拼接字符串尽量避免一般用append+toString
  • StringBuilder(线程不安全)和StringBuffer(线程安全)忽略线程安全其它都一样

由于String对象是不可变的所以可以共享(即两个字符串一样则共享同一块内存地址)

//共享
String t1 = "123";
String t2 = "123";
System.out.ptintln(t1 == t2);//true,(== 比较的是内存地址)

字符串常量池

存在于方法区(加载代码的内存区)被所有的线程共享

堆在逻辑上的划分

堆在逻辑上被分为三部分:
新生代:存储刚创建的对象(GC询问次数最多为15次>15则进入老年代)
老年代:垃圾回收次数超过15次(即15次之后依然存活的对象)
永久代:静态修饰的所有东西(类、方法、常量…)

每一个字符串对象的创建都会放入永久代(每次创建都先去永久代前提:不用newnew开辟新内存)

二、创建对象

2.1 直接引用常量区

String s = " ";

String str = “abc” ;

2.2 使用构造方法

String()

String str = new String(“abc”); 

2.3 两种实例化方法的区别

区别

直接赋值:

  • 只开辟一块堆内存空间并且会自动入池不会产生垃圾
  • 会将匿名对象“”放入对象池下一次不同对象直接赋值时直接利用池中已经存在的匿名对象

构造方法:

  • 在堆内存创建对象
  • 会开辟两块堆内存空间其中一块堆内存会变成垃圾被系统回收而且不能够自动入池需要通过public String intern();方法进行手工入池

三、常用方法

Modifier and Type Method Description
char charAt​(int index) 返回指定索引处的 char值
int compareTo​(String anotherString) 按字典顺序比较两个字符串
boolean endsWith​(String suffix) 测试此字符串是否以指定的后缀结尾
boolean equals​(Object anObject) 将此字符串与指定的对象进行比较
boolean equalsIgnoreCase​(String anotherString) 将此 String与另一个 String比较忽略了大小写
void getChars​(int srcBegin, int srcEnd, char[] dst, int dstBegin) 将此字符串中的字符复制到目标字符数组中
int indexOf​(int ch) 返回指定字符第一次出现的字符串中的索引
int indexOf​(int ch, int fromIndex) 返回指定字符第一次出现的此字符串中的索引从指定索引处开始搜索
int indexOf​(String str) 返回指定子字符串第一次出现的字符串中的索引
int indexOf​(String str, int fromIndex) 从指定的索引处开始返回指定子字符串第一次出现的字符串中的索引
boolean isEmpty() 返回 true 当且仅当 length()是 0 
int lastIndexOf​(int ch) 返回指定字符最后一次出现的字符串中的索引
int lastIndexOf​(int ch, int fromIndex) 返回指定字符最后一次出现的字符串中的索引从指定的索引开始向后搜索
int lastIndexOf​(String str) 返回指定子字符串最后一次出现的字符串中的索引
int lastIndexOf​(String str, int fromIndex) 返回指定子字符串最后一次出现的字符串中的索引从指定索引开始向后搜索
int length() 返回此字符串的长度
String repeat​(int count) 返回一个字符串其值为此字符串的串联重复 count次
String replace​(CharSequence target, CharSequence replacement) 将此字符串中与文字目标序列匹配的每个子字符串替换为指定的文字替换序列
String replaceAll​(String regex, String replacement) 将给定替换的给定 regular expression匹配的此字符串的每个子字符串替换
String replaceFirst​(String regex, String replacement) 将给定替换的给定 regular expression匹配的此字符串的第一个子字符串替换
boolean startsWith​(String prefix) 测试此字符串是否以指定的前缀开头
boolean startsWith​(String prefix, int toffset) 测试从指定索引开始的此字符串的子字符串是否以指定的前缀开头
String stripLeading() 返回一个字符串其值为此字符串并删除了所有前导 white space 
String stripTrailing() 返回一个字符串其值为此字符串并删除所有尾随 white space 
CharSequence subSequence​(int beginIndex, int endIndex) 返回作为此序列的子序列的字符序列
String substring​(int beginIndex) 返回一个字符串该字符串是此字符串的子字符串
String substring​(int beginIndex, int endIndex) 返回一个字符串该字符串是此字符串的子字符串
char[] toCharArray() 将此字符串转换为新的字符数组
String toLowerCase() 使用默认语言环境的规则将此 String所有字符转换为小写
String toUpperCase() 使用默认语言环境的规则将此 String所有字符转换为大写
String toUpperCase​(Locale locale) 使用给定 Locale的规则将此 String所有字符转换为大写
static String valueOf​(T i) 返回T参数的字符串表示形式


相关文章

猜您喜欢

  • Activity侧滑返回 剖析Android Activity侧滑返回的实现原理

    想了解剖析Android Activity侧滑返回的实现原理的相关内容吗怪兽N在本文为您仔细讲解Activity侧滑返回的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Activity侧滑返回,android,Activity侧滑返回下面大家一起来学习吧..
  • Python绘图turtle库 Python绘图之turtle库的基础语法使用

    想了解Python绘图之turtle库的基础语法使用的相关内容吗简时刻在本文为您仔细讲解Python绘图turtle库的相关知识和一些Code实例欢迎阅读和指正我们先划重点:python绘图turtle库详解,python中turtle库,python中turtle库的用法下面大家一起来学习吧..

网友评论

Copyright 2020 www.gamerfx.net 【游戏天空】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式