Java的字符串用法
一、String
1--:
"=="比较的是元素在栈中的地址。
equals()方法比较的是字符串的面值。
----比较过程:(可看源码)
1)地址
2)类型
3)面值
2--:构造器
(1)String是一个不可改变的字符序列;
(2)如果改变面值,将创建一个新的字符串;
(3)同一个字符串的面值不会创建;两次。
3--常用方法
1)String类型--->基本数据类型、包装类,int-->Integer,String XXX.parseXXX(String str),double-->Double,char-->Char。
2)基本数据类型、包装类--->String类型
String.valueOf(XXX),XXX是基本数据类型、包装类
3)String字符串-->字节数组byte[]
getBytes(String str)
4)String字符串--->字符数组char[]
char[] c = String字符串.toCharArray();
(1)char charAt(int index) (2)String concat(String str) (3)boolean contains(CharSequence s) (4)boolean endWith(String suffix) (5)boolean equals(Object anObject) (6)int indexOf(int ch); int indexOf(int ch,int fromIndex); int indexOf(String str); (7)boolean isEmpty() (8)int length() (9)String replace(char oldChar, char newChar); String replace(CharSequence target, CharSequence replacement); String replaceAll(String regex, String replacement); (10)String[] split(String regex) (11)String substring(int beginIndex); String substring(int beginIndex, int endIndex) (12)String toString() (13)char[] toCharArray() (14)String trim() (15)static String valueOf(Object obj)
二、StringBuffer
特性:线程安全,可变的字符序列;
(1)添加:append(object obj),将基本数据类型或包装类型的obj,追加到StringBuffer后。
(2)删除:delete(int start,int end),从start开始至end结束之间的字符。
(3)修改:setCharAt(int index,char ch),修改index索引下的字符为ch。
(4)查找:indexOf(String str),查找str的位置。
(5)翻转:reverse(),将当前的字符串按位翻转后,返回一个新的StringBuffer。
(6)插入:insert(int offset,Object obj),在offset位置上插入一个(基本数据类型)obj值。
(7)长度:length()。
三、StringBuilder
特性:线程不安全,可变的字符序列;
(1) 通过比较后得知,在线程不安全的前提下,StringBuilder的效率高于StringBuffer,远远高于String
(2)StringBuffer与String相互转化
String--->StringBuffer
StringBuffer sb = new StringBuffer(String str);
StringBuffer--->String
StringBuffer sb = new StringBuffer();
sb.toString();
四、日期类
System.currentTimeMillis();
Date
Calendar
创建方式不同于其他Calendar
cal = Calendar.getInstance();
SimpleDateFormat
java.text.SimpleDateFormat
五、数学类
round()四舍五入,实现使用是floor();
六、运算类
BigInteger
BigDecimal
可以查看API文档,来查看使用方法。