String类中常用的方法及字符串为空的判断

字符串概述:

不可变字符串:String:创建一个对象后,其内容不能再改变

可变字符串:StringBuffer 和StringBuilder:创建对象后,其中的可以改变内容。

这三种类型在底层都是包装的char 类型的数组


1.String

创建后不能改变,一旦改变就是一个新的对象。

String的对象创建:

— 直接创建 String str="ASFD"

* 最多创建一个对象,最少不创建对象。若在常量池中有"ASFD",则直接引用,否则先在常量池中创建该对象再引用。


—用构造器创建 String str= new String("ASFD");

* 最多创建两个,最少创建一个。首先new 出来的对象一定在堆中,若在常量池中存在"ASFD",则只需创建一个对象,如果没有,需要创建2个,先在常量池中创建一个,在创建一个对象对常量池中内容的引用。

两种方式的内存图:

String类中常用的方法及字符串为空的判断
String类中常用的方法及字符串为空的判断
应用

1.1 String对象的空值

String str =null //没有初始化,没有分配内存空间

String str =" " //有初始化,分配了内存空间,但是没有内容

1.2判断字符串是否为空(2种情况)

—引用不能为空(null)

—内容不能为空(“ ”)

1.3字符串的比较操作

—“==”比较的是对象的内存地址

—“equals”在object中比较的也是内存地址,但是在String中重写了此方法,比较的是内容。

2.String常用的方法(java.lang.String)

一、构造函数

String(byte[ ]bytes):通过byte数组构造字符串对象

String(char[ ]value):通过char数组构造字符串对象

String(Stingoriginal):构造一个original副本。即:拷贝一个original

String(StringBufferbuffer):通过StringBuffer数组构造字符串对象。

例如:

byte[] b = {'a','b','c','d','e','f','g','h','i','j'};

char[] c = {'0','1','2','3','4','5','6','7','8','9'};

String sb = new String(b); //abcdefghij

String sb_sub = new String(b,3,2); //de

String sc = new String(c); //0123456789

String sc_sub = new String(c,3,2); //34

String sb_copy = new String(sb); //abcdefghij

二、基本方法:

说明:①、所有方法均为public。

②、书写格式: [修饰符] <返回类型><方法名([参数列表])>

(1)字符串的转换

byte[] getBytes():将该String对象转换成byte数组。

char[ ] toCharArray():将该String对象转换成char数组。

String toLowerCase():将字符串转换成小写。

String toUpperCase():将字符串转换成大写。

(2)获取字符串的信息

int length()返回当前字符串长度

int indexOf(String str)只找第一个匹配字符串位置

int indexOf(String str, int fromIndex)从fromIndex开始找第一个匹配字符串位置

int lastIndexOf(String str, int fromIndex) 与以上方法不同的是只找最后一个匹配的内容

(3)字符串之间的比较

boolean contentEquals(String sb):将该String对象与指定对象sb进行比较。与equals()一样,比较对象的内容。

boolean equals(Object anObject)当anObject不为空并且与当前String对象一样,返回true;否则,返回false

boolean equalsIgnoreCase(String another):比较字符串与another是否一样(忽略大小写);

(4)字符串的大小写转换

String toLowerCase()将字符串转换成小写

String toUpperCase():将字符串转换成大写。

三、基本方法:

实现以下两个功能:

1.获取以hello开头的文件名的后缀名;

2.把单词首字母变成大写

split(String str) 分割 //一般返回字符串数组

startWith(String str)判断是否以某个具体的字符串开头的 //返回boolean类型

substring(int index)以某个下标开始到结束的字符串 //返回一个字符串

String类中常用的方法及字符串为空的判断
String类中常用的方法及字符串为空的判断

判断字符串是否为空:

1.引用不能为null

2.不能为空字符串

3.不能为空格

trim()方法: 忽略字符串中开始和结束位置的空格

判断是否为 “ ”时,应使“ ”在前面,防止字符串为空指针,导致语法错误。

eg: if(!"".equals(str.trim()) )


String类中常用的方法及字符串为空的判断
谢谢阅读!