通往黑马 —— Java学习笔记(4)

来源:互联网 发布:js typeof function 编辑:程序博客网 时间:2024/06/06 16:07

1.String类

1)字符串一旦初始化不得被改变,字符串变量可以改变——字符串是对象,字符串变量是对象变量。

     

      常量池——在方法区中,存储字符串,已存在的字符串对象会被直接调用。

String s1 = "abc";String s2 = new String("abc");String s3 = "abc";s1 == s2; //falses1 == s3; //true

2)String类常见操作:

a.获取

(1) int length() 获得字符串长度——注意,不同于数组的.length,多了括号。

(2) char charAt(int index) 获得指定位置的字符

(3) int indexOf(int ch) 返回字符在字符串中第一次出现的位置,没有则返回-1。

     int indexOf(int ch, int fromIndex) 从formIndex位置开始,获取字符出现的下一个位置。

     int indexOf(String str) 返回str(短字符串)在字符串中第一次出现的位置——可替代contains()方法。

    int lastIndexOf(int ch) 反向索引字符ch出现的位置。

b.判断

boolean contains(CharSequence str) 是否包涵指定内容;

boolean startsWith(String str) 是否以指定内容开始;

boolean endsWith(String str) 是否以指定内容结尾;

boolean isEmpty() 是否为空——判断length()是否为零;

boolean equals(String str)——复写了Object的equals方法,判断字符串是否相同,而非是否同一字符串对象。

boolean equalsIgnoreCase(String str)——类似equals(),不分大小写。

c.转换

字符数组转换成字符串:

构造函数:String(char[]); String(char[],offset,count)从offset角标开始,取count个。

静态方法:static String copyValueOf(cha[])...


字符串转换成字符数组

char[ ] toCharArray();


字节数组转换成字符串

字符串转换成字节数组

d.替换

String replace(char oldchar,char newchar)  替换字符串中的字符——如果发生了替换,则会产生新字符串。

String replace(CharSequence oldstr,CharSequence newstr)

e.切割

String[ ] split(regex);

f.子串

String substring(begin);——获取从开始角标到结尾的子串;

String substring(begin, end);——获取从开始角标到结束角标的子串,包含头不包含尾;

g.转换,去除空格,比较

String toUpperCase();——转换为大写

String toLowerCase();——转换为小写

String trim();——去除字符串两端的空格

int compareTo(String str);——挨个比较,按ASC比。


2.StringBuffer——字符串缓冲区,容器

长度可变化,可直接操作多种数据类型,并通过toString();转换成字符串。

1)存储

StringBuffer append( ...);——将指定数据存储到已有数据的尾部

StringBuffer insert(Int offset, ...);——插入指定数据到offset角标

2)删除

StringBuffer delete(start,end);——包头不包尾

StringBuffer deleteCharAt(int offset);——删除指定字符

3)获取

char charAt(int offset);——获取指定位置的字符

int nidexOf(String str);——获取指定字符串位置

int lastIndexOf(String str);——从尾部获取指定字符串位置

ing length();——获取长度

String substring(int start , int end);——获取子串

4)修改

StringBuffer replace(int start,int end,String str);——替换一部分

void setCharAt(int offset,char ch);——替换一个字符,注意没有返回值

5)反转

StringBuffer reverse();

6)将StringBuffer中的指定数据存储进指定字符数组中

void getChars(int srcBegin , int srcEnd , char[] dst , int dstBegin)


3.StringBuilder——与StringBuffer使用方法类似

1.5版本后出现,线程不同步,提高了效率。


4.基本数据类型对象包装类

int Integer

char Character

Xxx.toString(...); ——将数据转换为字符串

xxx a = parseXxx(String str); ——将字符串转换为数字,注意数据格式

新版本自动装箱拆箱,无需对数据和数据对象进行显式转化

 
0 0