Java学习之字符串类String(一)
2016-03-26 23:48
489 查看
1.字符串的比较
public class stringConparation { 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); System.out.println(s1 == s3); System.out.println(s1.equals(s2)); System.out.println(s1.equals(s3)); } }
运算结果
false true true true
运算符==只能检测是否指向同一个对象,对于s1和s3指向的对象,和s2不同,而且这里引入了一个interned string object的概念,但我现在是觉得没有必要,你直接说对于两种不同的创建方法,创建出的对象指向的地址不同就可以了。
比较的话使用equals方法,这里的返回的boolean型值,还有一种比较的方法就是compareTo()方法,这里返回的就是一个int型的整数,实际值是根据s1和s2从左到右第一个不同的字符之间的距离得出的。(距离的计算是否就是ASCII吗呢?结果我的猜想是正确的)
举例说明compareTo()方法:
String s1 = "abc"; String s2 = "abcd"; String s3 = "abcdfg"; String s4 = "1bcdfg"; String s5 = "cdfg"; System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1) System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3) System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48) System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)
2.字符串的长度,字符以及组合字符串
+length() :int //返回这个字符串的字符个数 +charAt(index:int):char //返回这个字符串的制定下标处的字符 +concat(s1:string):String //返回的这个字符串和s1组合而成的新字符串
这里有一个问题就是如果charAt的参数所指的下标是超出这个字符串的长度了呢?
解答:这里会有抛出一个异常
StringIndexOutOfBoundsException。
3.获取子串
+substring(beginIndex:int,endIndex:int):String
返回的是以指定的beginIndex开始并延续到endIndex-1的字符串的子串。
4.字符串的转换、替换和分隔
+toLowCase():String +toUpperCase():String +trim():String //返回去掉了两端的空白字符之后的新字符串 +replace(oldChar:char,newChar:char):String +replaceFirst(oldString:String,newString:String):String +replaceAll(oldString:String,newString:String):String +split(delimiter:String):String
注释:repalce方法只能替换一个字符数,若要用到字符串,那只能用repalceAll,而repalceFirst只是替换遇到的第一个字符串。(一个字符数也可以叫字符串,只是短一点)。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序