String类

来源:互联网 发布:西门子编程线 编辑:程序博客网 时间:2024/06/16 12:43
// TODO Auto-generated method stub
/*
* String对象的特点 
* 1、字符串常量是String对象,在加载期被产生,放在字符串常量池当中 
* 2、new一个字符串对象,则是在运行期产生,放在堆当中
* 3、String对象的内容不可变---不适用于大量的字符串拼接动作,此时请用StringBuffer或StringBuilder
*/


String str1 = "hello";
String str2 = "hello";
String str3 = new String("hello");
String str4 = new String("hello");
// str3 = str4;
// str3 += "world";
// System.out.println(str3);
// System.out.println(str4);


// String跟char[]有关的方法
char[] array = new char[] { 'h', 'e', 'l', 'l', 'o' };
String str = new String(array);// 根据char数组产生String对象
char[] toArray = str.toCharArray();// 将String对象转换为char[]
System.out.println(str.length());// length方法获取字符串长度
System.out.println(str.charAt(4));// 在字符串哪个位置放的是什么字符
System.out.println(str.indexOf('l'));// 得到字符在String中第一次出现的位置
System.out.println(str.lastIndexOf('l'));// 得到字符在String中最后一次出现的位置


// 跟比较有关系的方法
System.out.println("hello".equals(str));
System.out.println("HelLo".equalsIgnoreCase(str));// 忽略大小写比较相等
System.out.println("helloworld".compareTo(str));// 用字典顺序比较字符串大小
System.out.println("HelloWorld".compareToIgnoreCase(str));// 用字典顺序,忽略大小写比较大小
System.out.println(str.startsWith("he"));// 判断字符串是否以什么开头
System.out.println(str.endsWith("lo"));// 判断字符串是否以什么结尾
System.out.println(str.contains("ll"));// 判断字符串中是否包含某个子串


/*
* 分清字符串为空,和字符串为空串的区别
*/
str1 = null;// 没有字符串对象
str2 = "";// 后者有字符串对象,但是该对象中没有装字符


// 字符串大小写有关的方法
System.out.println(str.toUpperCase());// 转换成全大写
System.out.println(str.toLowerCase());// 转换成全小写


// 字符串的特殊方法
// 1、trim()----去掉字符串的前后空格
String inputStr = "    hello world     ";
// 严格做字符串非空判断如下:
if (str1 != null && !str1.trim().equals("")){
System.out.println("str为空或空串");
}


//2、matches()---用作正则表达式验证字符串
/*
* 正则表达式特点:
* 正则表达式本身的表现形式就是一个字符串,即任意一个字符串都是正则表达式;
*/
//示例1
// String inputNum = JOptionPane.showInputDialog("请输入任意一个电话号码,我将判断是否为电子科大的电话");
// String regex = "8320([0-9]{4}|1[12][04])";
//
// if(inputNum.matches(regex)){
// JOptionPane.showMessageDialog(null, "这是电子科大的电话!");
// }else{
// JOptionPane.showMessageDialog(null, "不是电子科大的电话!");
// }


//示例2
// String inputNum = JOptionPane.showInputDialog("请输入您要提取的金额");
// String regex = "(200|1[0-9]{2}|[1-9][0-9]?)00";
// if(inputNum.matches(regex)){
// System.out.println("输入正确,请等候!");
// }else{
// System.out.println("输入有误,请重新输入!");
// }

//3、split()----拆分字符串
//示例1
// String birthday = "1990-9-19";
// String[] values = birthday.split("-");
// System.out.println(values[0] + "年" + values[1] + "月" + values[2] + "日");

//示例2---split方法是按正则表达式来进行拆分的
String url = "http://localhost:8080/sgproj/login.do?username=zhang3&password=123456";
String[] values = url.split("[?&]");

System.out.println(values[1]);

=======================================================================================================

0 0
原创粉丝点击