String
package com.chen.实用类; import java.util.Scanner; /** * Created by chen on 2018/3/16. */ public class LearnString { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // System.out.println("请输入姓名:"); // String name = scanner.next(); String name = "toom"; System.out.println("姓名为:" + name); System.out.println("忽略大小写比较:" + name.equalsIgnoreCase("TOM")); System.out.println("转换英文成小写比较:" + name.equals("TOM".toLowerCase())); System.out.println("转换英文成大写比较:" + name.equals("TOM".toUpperCase())); System.out.println("字符串连接符:" + "欢迎登录".concat(name)); System.out.println("返回第一个出现的该字符的下标(如果没有就返回-1):" + name.indexOf("o")); System.out.println("返回最后一个出现的该字符的下标(如果没有就返回-1):" + name.lastIndexOf("o")); System.out.println("从指定索引开始的字符串(包含索引位置):" + name.substring(1)); System.out.println("从指定位置开始到结束的字符串(包含开始位置不包含结束位置,开始位置和结束位置小于字符最大索引," + "但是不能为负数,而且开始位置只能小于或者等于结束位置,两个位置相同时,截取为空):" + name.substring(1, 2)); System.out.println("去掉字符串前后空格(不会去掉中间的空格):" + " 123456 456 ".trim()); System.out.println("字符串拆分:"); String[] strings = new String[100]; strings = ",1,2,3,4,8,".split(","); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); } } }
StringBuffer
package com.chen.实用类; /** * Created by chen on 2018/3/16. */ public class LearnStringBuffer { public static void main(String[] args) { StringBuffer stringBuffer = new StringBuffer("123456"); System.out.println("转换为字符串:"+stringBuffer.toString()); System.out.println("追加任何类型的值:"+stringBuffer.append("789")); System.out.println("在指定位置插入值:"+stringBuffer.insert(1,"c")); } }
String,StringBuffer,StringBuilder对比
1、string是不可变的对象,每次操作string类型都等同于生成一个新的string对象,所以经常改变内容 字符串最好不要用string类型,因为每次产生新对象对系统性能有影响。 2、StringBuffer是可变字符串,每次操作字符串都是对他本身进行操作,所以经常改变内容字符串推荐 使用StringBuffer。字符串连接操作中,StringBuffer比string效率高。 3、jdk5之后提供StringBuilder类,StringBuilder和StringBuffer是等价的。区别在于StringBuffer类是 线程安全的,StringBuilder类是单线程的,不提供同步,理论上效率更高。
版权声明:本文为chen_NeverRetreat原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。