---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
看付东老师5天视频 感谢付东老师
String类 java.lang.String
public final class String
extends Object implements Serializable, Comparable< String>, CharSequence实例1
String s1 = "黑马程序员";
String s2 = "黑马程序员";
System.out.println(s1.equals(s2));
System.out.println(s1 == s2);
String s3 = new String("黑马程序员");
String s4 = new String("黑马程序员");
System.out.println(s3.equals(s4));
System.out.println(s3 == s4);
结果true true true false
1.String 重写了toString方法 比较的是字符串的内容
2.String s1 = "黑马程序员"; 是在池内 String s3 = new String("黑马程序员"); 在池外 并在池内也创建一个实例但引用指向的是池外的
3. s1与s2 地址与内容都相同 在池内 s3 与s4 内容相同地址不同 s3与s4在池外
实例2
String s1 = "黑马";
String s2 = "程序员";
String s3 = s1 + s2;
String s4 = "黑马程序员";
System.out.println(s3.equals(s4));
System.out.println(s3 == s4);
结果 true false
1.因为s3与s4字符串相同所以s3.equals(s4)); true
2.s1+s2 这是在池外生成一个实例 而s4是在池内 所以s3 == s4 false
实例3
String s1 = "黑马" + "程序员";
String s2 = "黑马程序员";
System.out.println(s1.equals(s2));
System.out.println(s1 == s2);
结果 true true
1.这与实例2有什么区别 s1是一个字符串 因为在编译阶段会对s1处理 所以String s1 = "黑马" + "程序员"; 与String s1 = "黑马程序员";是一个效果
在说几个String比较常用的方法
1.valueOf(Object obj) 把obj转换成字符串
2.toLowerCase() 与 toUpperCase() 大小写转换
3.toCharArray() 转换成字符数组 getBytes() 装换成字节数组
4.substring(int beginIndex, int endIndex) 截取字符串
5.replace(char oldChar, char newChar) 字符替换
6.matches(String regex) 匹配正则
7.length() 求字符长度 isEmpty() 是否为空
8.charAt(int index) 根据索引返回char值 indexOf(int ch)根据char返回索引
9.contains(CharSequence s) 是否包含某字符
10compareTo(String anotherString) 比较两个字符是否相等
接下来是正则的几个实例
1.qq 规则 第一位不能为0的5-11位数 [1-9]\\d{4,10}
String qqRegex = "[1-9]\\d{4,10}"; // QQ号
System.out.println("12345".matches(qqRegex));
2.电话 规则 第一位是1 第二位可以是3458 的11位数 1[3458]\\d{9}
String phoneRegex = "1[3458]\\d{9}"; // 11位数字, 第1位是1, 第2位可以是3458, 第3位之后可以是任意数字
System.out.println("18600012345".matches(phoneRegex));
3.邮箱 规则 XXX@XXX.com \\w+@(\\w+\\.)+[a-zA-Z]{2,4}
String emailRegex = "\\w+@(\\w+\\.)+[a-zA-Z]{2,4}";
System.out.println("fudong@163.com".matches(emailRegex));
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------