Java--22---String类
来源:互联网 发布:hadoop与java的关系 编辑:程序博客网 时间:2024/05/17 07:14
在Java中用于描述字符串的类就是String。
Java程序中的所有字符串字面值(如“abc”)都作为此类的实例实现。
字符串最大的一个特点就是:字符串是常量,它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。
public class sss {public static void main(String[] args) {// TODO Auto-generated method stubString s1 = "abc";s1 = "sss";System.out.println(s1);}}
打印结果却是:sss
但是我们要明白的是,变化的不是abc 变化的是s1所指向的对象。
public class sss {public static void main(String[] args) {// TODO Auto-generated method stubString s1 = "abc";String s2 = new String("abc");System.out.println(s1==s2);System.out.println(s1.equals(s2));}}
String类复写了Object类中的equals方法。该方法用于判断字符串内容是否相同。
S1和s2有什么区别?
s1在内存中有一个对象,s2在内存中有两个对象
public class sss {public static void main(String[] args) {// TODO Auto-generated method stubString s1 = "abc";String s2 = new String("abc");String s3 = "abc";System.out.println(s1==s2);System.out.println(s1==s3);}}
打印结果:
False
True
S3在初始化的时候发现字符串“abc”已经在常量池中存在就不会再进行创建,所以s1和s3指向的是同一个对象。
字符串常见的方法:
1.获取
a) 字符串中包含的字符数(长度) int length ()
b) 根据位置获取位置上的某个字符 char charAt(int index)
c) 根据字符获取该字符的位置
d)
int indexOf (char ch) 返回的是ch在字符串中第一次出现的位置
int indexOf (String ch):返回的是ch在字符串中第一次出现的位置
int indexOf (int ch,int fromIndex):从fromIndex指定位置开始,获取ch在字符串中的位置
int indexOf (String ch,int fromIndex):从fromIndex位置开始,获取ch在字符串中出现的位置
反向索引一个字符出现的位置。int indexOf (int ch)
2.判断
a) 字符串中是否包含某一个子串 boolean contains (str) 特殊之处:indexOf(str):可以索引str第一次出现位置,如果返回-1,则表示该str不在字符串中存在。
b) 字符串中是否有内容 boolean isEmpty ()
c) 字符串是否以指定内容开头 boolean startsWith (str)
d) 字符串是否以指定内容结束 boolean endsWith (str)
e) 判断字符串的内容是否相同 equals()
f) 判断内容是否相同并忽略大小写 equalsIgnoreCase()
3.转换
a) 将字符数组转换成字符串
构造方法:
String(char[] )
String (char[] ,offset ,count)将字符数组中的一部分转换为字符串
静态方法:
Static String copyValueOf (char[])
Static String copyValueOf (char[] data,int offset,int count)
Static String ValueOf (char[])
b) 将字符串转换成字符数组
Char[] toCharArray ()
c) 将字节数组转换成字符串
String(byte[] )
String (byte[] ,offset ,count)
d) 将字符串转换成字节数组
Byte[] getBytes()
e) 将基本数据类型转成字符串
Static String ValueOf (int)
Static String ValueOf (double)
字符串和字节数组在转换过程中是可以指定编码表的。
4.替换
String replace ( oldchar ,newchar)如果要替换的不存在,返回的是原串
5.切割
String split(regex)
6.子串,获取字符串中的一部分
String substring(begin)从指定位置开始到结尾,如果角标不存在会出现角标越界异常
String substring(begin,end)
7.转换 去除空格 比较
a) 将字符串转成大写或者小写
Sting toUpperCase()
Strign toLowerCase()
b) 将字符串两端的多个空格去除
String trim ()
c) 对两个字符串进行自然顺序的比较
int compareTo (string)
- Java--22---String类
- 【java】:java String类
- 学习java String类
- java手记---String类
- java string类详解
- JAVA String类学习
- java String 类源代码
- Java.String类
- JAVA的String 类
- java String 类细节
- Java String类总结
- java-String类
- java基础---->String类
- java String类
- JAVA的String 类
- JAVA String类详解
- JAVA string 类
- Java API String类
- Direct Insertion
- 欢迎使用CSDN-markdown编辑器
- Think常用记录
- 习题2—12
- 怎样学习c语言
- Java--22---String类
- 杭电OJ1009 FatMouse' Trade
- 转载:iOS开发之GCD使用总结
- ZOJ 3598 Spherical Triangle(计算几何 球面三角形内角和)
- java可变参数
- switch case in protected scope 异常解决
- 畅通工程(并查集之计算集合的子集合的个数)
- 对象的引用传递(转)
- leetcode palindrome partition II