Java字符串定义及常用方法
2019-08-31 07:14:00来源:博客园 阅读 ()
String、StringBuffer和StringBuilder
??String修饰的是不可变的字符串,而StringBuffer和StringBuilder类的对象是可以被修改的。
??StringBuffer和StringBuilder 类不同的是StringBuilder 是线程不安全的,但运行速度要比StringBuffer快(性能高);StringBuffer是线程安全的(性能低)。
字符串的定义
String str = "Hello";
//或
String Str2;
str2 = "Hello";
//或
String str3 = new String("Hello");
String str4 = new String(str3);
字符串拼接【concat()】
//加号(+)拼接
String str = "Hello ";
String str2 = "World";
System.out.println(str+str2);
//使用 concat() 方法
String str3 = "Hello";
str3 = str3.concat(" World");
str3 = str3.concat(" 你好");
System.out.println(str3);
字符串长度【length()】
String str = "Hello";
int str_len = str.length(); // 获取字符串长度
System.out.println(str_len);
大小写转换
String str = "Hello World";
System.out.println(str.toLowerCase()); //转换成小写,结果为:hello world
System.out.println(str.toUpperCase()); //转换成大写,结果为:HELLO WORLD
去空格【trim()】
String str = " Hello ";
String trim = str.trim();
System.out.println(trim); //"Hello"
System.out.println(str.length()); //9
System.out.println(trim.length()); //5
字符串截取【substring()】
注意:substring():截取字符串时不是按照字符索引来截取的,而是按字符来截取的。
???substring(int beginIndex,int endIndex):beginIndex(起始索引),endIndex(结束索引)。
???(截取长度不能超出字符串长度范围)
String str = "Hello World";
String str_sub1 = str.substring(7);
String str_sub2 = str.substring(2,9);
System.out.println(str_sub1); //orld
System.out.println(str_sub2); //llo wor
字符串分隔【split()】
String str = "Hello,World";
String[] split = str.split(","); //split("指定的分隔符");
for(int i = 0;i<split.length;i++){
System.out.println("字符串分割后为:\n" + split[i]);
}
字符串替换【replace()】
??replace() 方法用于将目标字符串中的指定字符(串)替换成新的字符(串)。
??replaceFirst() 方法用于将目标字符串中所指定的字符串的第一个子字符串替换成新的字符串。
??replaceAll() 方法用于将目标字符串中所指定的字符串的所有子字符串替换成新的字符串。
String str = "Hello world,Hello java";
String replace = str.replace("w","W"); //replace("被替换的字符(串)","替换的字符(串)");
String replaceFirst = str.replaceFirst("Hello","你好");
String replaceAll = str.replaceAll("Hello","你好");
System.out.println(replace); // Hello World,Hello java
System.out.println(replaceFirst); // 你好 world,Hello java
System.out.println(replaceAll); // 你好 world,你好 java
字符串的比较【equals()】
??equals() 方法将两个字符串逐个地进行比较,看每个字符是否相同;相同为true,不同为false。(区分大小写)【常用】
??equalsIgnoreCase() 与equals()方法相同,但不区分大小写。
??compareTo() 方法基于字符串的Unicode值进行比较(做减法运算)。(如下:“A”的Unicode值为97,“a”的Unicode值为65,故str1.compareTo(str)等于32)
String str1="abc";
String str2=new String("abc");
String str3="ABC";
System.out.println(str1.equals(str2)); // true
System.out.println(str1.equals(str3)); // false
System.out.println(str1.equalsIgnoreCase(str2)); // true
String str="A";
String str1="a";
System.out.println("str1.compareTo(str)的结果是:"+str1.compareTo(str)); // 32
System.out.println("str1.compareTo('a')的结果是:"+str1.compareTo("a")); // 0
字符串查找
根据字符查找
??indexOf() 方法用于返回字符(串)在指定字符串中首次出现的索引位置,如果能找到,则返回索引值,否则返回 -1。
??lastIndexOf()方法用于返回字符(串)在指定字符串中最后一次出现的索引位置,如果能找到则返回索引值,否则返回 -1。
??注意:
????indexOf() 方法的查找策略是从左往右查找,如果不指定起始索引,则默认从字符串的开头开始查找。
????lastIndexOf() 方法的查找策略是从右往左查找,如果不指定起始索引,则默认从字符串的末尾开始查找。
String str = "Hello World,Hello java";
System.out.println(str.indexOf("e")); // 1 (查找"e"在字符串中第一次出现的位置)
System.out.println(str.indexOf("e",6)); // 13 (从左往右查找,从索引为6开始查找"e"的位置)
System.out.println(str.lastIndexOf("e")); // 13 (查找"e"在字符串中最后出现的位置)
System.out.println(str.lastIndexOf("e",6)); // 1 (从右往左查找,从索引为6开始查找"e"的位置)
根据索引查找【charAt()】
String str = "Hello World";
System.out.println(str.charAt(6)); // w (查找索引为6的字符)
原文链接:https://www.cnblogs.com/lyang-a/p/11434574.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- C++ 自动转换和强制类型转换(用户自定义类类型) 2020-06-10
- C++ 类 2020-06-02
- 二叉搜索树_BST 2020-05-30
- C++ 单定义规则 2020-05-10
- C++ 函数模板 2020-04-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash