java,String字符串的简单总结

String字符串不是基本数据类型,是对象哦,内存是不可变的,平时我们只是改变变量的引用关系而已。

字符串池的优化:我们的程序中会声明有很多个字符串去存值传值,为了避免相同内容的字符串重复申请了多个而浪费了资源,所以字符串池就把相同的统一引用到字符串池里的一个。

例如:

String s1="aa";

String s2="aa";

s1和s2是引用了字符串池的同一个对象哦。


除非是这样,String s3=new String("aa");才会新构建了对象,另开的内存资源。


-----------------------------------------

//空字符串
String s1 = "";
//没有指向内存
String s2 = null;

-----------------------------------------

String的构造器


可直接传入字符串类型参数,char[]数组类型,byte[]字节数组类型+指定字符集(不指定会按照系统的字符集类型来转码),还能传入StringBuffer类型或者StringBuilder类型。

-----------------------------------------

String的转字节方法:

getBytes();得到字节数组byte[],可以方法的参数指定字符集类型。

如果不给参数,字符集按照系统默认的字符集。


-----------------------------------------

String的常用方法:

length     返回字符串长度
isEmpty     判断是否为空字符串(不是判断null)
trim     去除字符串前后空格
toLowerCase     转小写
toUpperCase()     转大写
split     字符串分离(支持表达式)
toCharArray     把字符串拆分成char数组

-----------------------------------------

indexOf 字符串搜索

搜索不到返回-1


参数有这么4种传法:

int类型    (单个字符搜索

int类型  int类型    (单个字符搜索并按指定下标开始搜索

String类型    (字符串搜索

String类型  String类型    (字符串搜索并按指定下标开始搜索

-----------------------------------------

lastIndexOf和IndexOf一样的用法,只不过是反过来从后面开始搜索至前面。


-----------------------------------------

截取方法

charAt     指定下标获取字符

substring     指定下标往后获取字符串 或者 传入指定起始下标和结束截取下标


-----------------------------------------

截取方法

startsWith 比较开头字符串与我传进去的字符串是否一致,返回boolean类型


endsWith 比较结尾字符串与我传进去的字符串是否一致,返回boolean类型


equals 比较两个字符串是否一致

equalsIgnoreCase 不分大小写的比较两个字符串是否一致

-----------------------------------------

替换方法

replace 单个字符替换或者字符串替换

replaceAll 正则表达式替换方案

猜你喜欢

转载自blog.csdn.net/qq_40550973/article/details/80589065