首页 / JAVA / java中String类小结
java中String类小结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java中String类小结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5656字,纯文字阅读大概需要9分钟。
内容图文
![java中String类小结](/upload/InfoBanner/zyjiaocheng/1153/eec99a49221445c5a7e47c3074af573f.jpg)
构建一个字符串
1、用字符串直接量:
String message = new String("Welcome to java");
2、用字符串直接量:
String message = "Welcome to java";
3、用字符数组
Char[] charArray = {‘m‘, ‘y‘};
String message = new String(charArray);
不可变字符与限定字符串
String对象是不可变的,内容不能改变
java虚拟机为了提高效率并节约内存,对具有相同字符串序列的字符串直接量使用同一个实例:
public class Main { public static void main(String args[]) { String s1 = "Welcome to java"; String s2 = new String("Welcome to java"); String s3 = "Welcome to java"; System.out.println("s1 == s2 is " + (s1 == s2)); System.out.println("s1 == s3 is " + (s1 == s3)); } }
结果:
s1 == s2 is false
s1 == s3 is true
字符串的比较
字符串相等的比较:
1、使用equals方法
boolean equals(Object anObject) :当anObject不为空并且与当前String对象一样,返回true;否则,返回false。
2、使用compareTo方法
int compareTo(String anotherString) :当前String对象与anotherString比较。相等关系返回0;不相等时,从两个字符串第0个字符开始比较,返回第一个不相等的字符差,另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。
int compareTo(Object o) :如果o是String对象,和2的功能一样;否则抛出ClassCastException异常。
public static void main(String args[]) { String s1 = "Welcome to java"; String s2 = new String("Welcome to java"); String s3 = "Welcome to C++"; System.out.println(s1.equals(s2)); System.out.println(s1.equals(s3)); System.out.println(s1.compareTo(s2)); System.out.println(s1.compareTo(s3)); }
运行结果:
true
false
0
39
字符串长度、字符以及组合字符串
String类提供获取字符串长度、获取单个字符和连接字符串的方法
public static void main(String args[]) { String s1 = "Welcome to java"; System.out.println("s1‘s length is: " + s1.length()); System.out.println("s1[2] == " + s1.charAt(3)); String s2 = " bigjava"; String s3 = s1.concat(s2); System.out.println(s3); System.out.println(s1); }
运行结果:
s1[2] == c
Welcome to java bigjava
Welcome to java
也可以使用(+)连接两个或更多的字符串:String s3 = s1 + s2;
获取子串
使用charAt获取单个字符
也可使用String类中的substring 方法从字符串中提取子串:
String substring(int beginIndex) :取从beginIndex位置开始到结束的子字符串。
String substring(int beginIndex, int endIndex) :取从beginIndex位置开始到endIndex位置的子字符串。
String s1 = "Welcome to java"; System.out.println(s1.substring(4)); System.out.println(s1.substring(2, 7));
运行结果:
ome to java
lcome
字符串的转换、替换和分隔
String toLowerCase() :将字符串转换成小写。
String toUpperCase() :将字符串转换成大写。
String s = "Welcome to java"; System.out.println("s.toUpperCase(): " + s.toUpperCase()); //s.toUpperCase(): WELCOME TO JAVA System.out.println("s.toLowerCase(): " + s.toLowerCase()); //s.toLowerCase(): welcome to java
String replace(char oldChar, char newChar) :将字符号串中第一个oldChar替换成newChar
String replaceFirst(char oldString, char newString) :将字符号串中第一个oldString替换成newString
String replaceAll(char oldString,char newString) :将字符号串中所有匹配的oldString替换成newString
String s = "Welcome to java"; System.out.println(s.replace(‘e‘, ‘m‘)); System.out.println(s.replaceFirst("e", "AB")); System.out.println("eleleledsafsdfhie".replaceAll("el", "wml"));
运行结果:
Wmlcomm to java
WABlcome to java
wmlwmlwmledsafsdfhie
public String[] split(String regex): 将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组
public static void main(String args[]) { String s = "2014/07/08"; String[] array = s.split("/"); for(int i = 0; i < array.length; ++i) { System.out.print(array[i] + " "); } }
运行结果:
2014 07 08
public String trim(): 返回该字符串去掉开头和结尾空格后的字符串
String s = " weer ewre "; System.out.println(s.trim()); // weer ewre
找出字符串中的某个字符或者某个子串
int indexOf(int ch) :只找第一个匹配字符位置。
int indexOf(int ch, int fromIndex) :从fromIndex开始找第一个匹配字符位置。
int indexOf(String str) :只找第一个匹配字符串位置。
int indexOf(String str, int fromIndex) :从fromIndex开始找第一个匹配字符串位置。
public class Main { public static void main(String args[]) { String s = new String("talk is cheap, show me your code!"); String ss = new String("me"); System.out.println(s.indexOf(‘s‘)); System.out.println(s.indexOf(‘s‘, 7)); System.out.println(s.indexOf("ch")); System.out.println(s.indexOf("ch", 9)); } }
运行结果:
6
15
8
-1
int lastIndexOf(int ch)
int lastIndexOf(int ch, int fromIndex)
int lastIndexOf(String str)
int lastIndexOf(String str, int fromIndex) 以上四个方法与13、14、15、16类似,不同的是:找最后一个匹配的内容。
public class Main { public static void main(String args[]) { String s = new String("talk is cheap, show me your code!"); String ss = new String("me"); System.out.println(s.lastIndexOf(‘c‘)); System.out.println(s.lastIndexOf("e")); System.out.println(s.lastIndexOf(‘e‘, 7)); System.out.println(s.lastIndexOf("me", 22)); } }
运行结果:
28
31
-1
20
字符串与数组之间的转换
char[ ] toCharArray() :将该String对象转换成char数组。
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) :该方法将字符串拷贝到字符数组中。其中,srcBegin为拷贝的起始位置、srcEnd为拷贝的结束位置、字符串数值dst为目标字符数组、dstBegin为目标字符数组的拷贝起始位置。
char[] s1 = {‘I‘,‘ ‘,‘l‘,‘o‘,‘v‘,‘e‘,‘ ‘,‘h‘,‘e‘,‘r‘,‘!‘};//s1=I love her! String s2 = new String("you!"); s2.getChars(0,3,s1,7); //s1=I love you! System.out.println( s1 );
运行结果:
I love you!
将字符和数值转换成字符串
static String valueOf(boolean b)
static String valueOf(char c)
static String valueOf(char[] data)
static String valueOf(char[] data, int offset, int count)
static String valueOf(double d)
static String valueOf(float f)
static String valueOf(int i)
static String valueOf(long l)
static String valueOf(Object obj)
以上方法用于将各种不同类型转换成Java字符型。这些都是类方法。
public class Main { public static void main(String args[]) { String s1 = String.valueOf(‘c‘); char[] charArray = {‘w‘, ‘e‘, ‘a‘, ‘r‘}; String s2 = String.valueOf(charArray); double d = 3.1415926; String s3 = String.valueOf(d); float f = 2.045f; String s4 = String.valueOf(f); int i = 2324; String s5 = String.valueOf(i); long l = 2135123; String s6 = String.valueOf(l); boolean b = false; String s7 = String.valueOf(b); System.out.println(s1); System.out.println(s2); System.out.println(s3); System.out.println(s4); System.out.println(s5); System.out.println(s6); System.out.println(s7); } }
运行结果:
c
wear
3.1415926
2.045
2324
2135123
false
原文:http://www.cnblogs.com/bigjava/p/3832353.html
内容总结
以上是互联网集市为您收集整理的java中String类小结全部内容,希望文章能够帮你解决java中String类小结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。