Java 实例 - 字符串分隔(StringTokenizer)
Java 中我们可以使用 StringTokennizer 设置不同分隔符来分隔字符串,默认的分隔符是:空格、制表符(\t)、换行符(\n)、回车符(\r)。
以下实例演示了 StringTokennizer 使用空格和等号来分隔字符串:
package com.example.yan.java字符串; import java.util.StringTokenizer; // 字符串分隔(StringTokenizer) public class Main1 { public static void main(String[] args) { String str = "This is String , split by StringTokenizer, created by nowcoder"; StringTokenizer st = new StringTokenizer(str); System.out.println("----- 通过空格分隔 ------"); while (st.hasMoreElements()) { System.out.println(st.nextElement()); } System.out.println("----- 通过逗号分隔 ------"); StringTokenizer st2 = new StringTokenizer(str, ","); while (st2.hasMoreElements()) { System.out.println(st2.nextElement()); } } }
网络异常,图片无法展示
|
Java 实例 - 字符串小写转大写
以下实例使用了 String toUpperCase() 方法将字符串从小写转为大写:
package com.example.yan.java字符串; public class StringToUpperCaseEmp { public static void main(String[] args) { String str = "string nowcoder"; String strUpper = str.toUpperCase(); String strLower = str.toLowerCase(); System.out.println("原始字符串: " + str); System.out.println("转换为大写: " + strUpper); System.out.println("转换为小写: " + strLower); } }
Java 实例 - 测试两个字符串区域是否相等
以下实例使用了 regionMatches() 方法测试两个字符串区域是否相等:
public class StringRegionMatch{ public static void main(String[] args){ String first_str = "Welcome to Microsoft"; String second_str = "I work with microsoft"; boolean match1 = first_str. regionMatches(11, second_str, 12, 9); boolean match2 = first_str. regionMatches(true, 11, second_str, 12, 9); //第一个参数 true 表示忽略大小写区别 System.out.println("区分大小写返回值:" + match1); System.out.println("不区分大小写返回值:" + match2); } }
first_str.regionMatches(11, second_str, 12, 9) 表示将 first_str 字符串从第11个字符"M"开始和 second_str 字符串的第12个字符"M"开始逐个比较,共比较 9 对字符,由于字符串区分大小写,所以结果为false。
如果设置第一个参数为 true ,则表示忽略大小写区别,所以返回 true。
以上代码实例输出结果为:
Java 实例 - 字符串性能比较测试
以下实例演示了通过两种方式创建字符串,并测试其性能:
public class StringComparePerformance{ public static void main(String[] args){ long startTime = System.currentTimeMillis(); for(int i=0;i<50000;i++){ String s1 = "hello"; String s2 = "hello"; } long endTime = System.currentTimeMillis(); System.out.println("通过 String 关键词创建字符串" + " : "+ (endTime - startTime) + " 毫秒" ); long startTime1 = System.currentTimeMillis(); for(int i=0;i<50000;i++){ String s3 = new String("hello"); String s4 = new String("hello"); } long endTime1 = System.currentTimeMillis(); System.out.println("通过 String 对象创建字符串" + " : " + (endTime1 - startTime1) + " 毫秒"); } }
Java 实例 - 字符串优化
以下实例演示了通过 String.intern() 方法来优化字符串:
public class StringOptimization { public static void main(String[] args){ String variables[] = new String[50000]; for( int i=0;i <50000;i++){ variables[i] = "s"+i; } long startTime0 = System.currentTimeMillis(); for(int i=0;i<50000;i++){ variables[i] = "hello"; } long endTime0 = System.currentTimeMillis(); System.out.println("直接使用字符串: "+ (endTime0 - startTime0) + " ms" ); long startTime1 = System.currentTimeMillis(); for(int i=0;i<50000;i++){ variables[i] = new String("hello"); } long endTime1 = System.currentTimeMillis(); System.out.println("使用 new 关键字:" + (endTime1 - startTime1) + " ms"); long startTime2 = System.currentTimeMillis(); for(int i=0;i<50000;i++){ variables[i] = new String("hello"); variables[i] = variables[i].intern(); } long endTime2 = System.currentTimeMillis(); System.out.println("使用字符串对象的 intern() 方法: " + (endTime2 - startTime2) + " ms"); } }
Java 实例 - 字符串格式化
以下实例演示了通过 format() 方法来格式化字符串,还可以指定地区来格式化:
import java.util.*; public class StringFormat { public static void main(String[] args){ double e = Math.E; System.out.format("%f%n", e); System.out.format(Locale.CHINA , "%-10.4f%n%n", e); //指定本地为中国(CHINA) } }
Java 实例 - 连接字符串
以下实例演示了通过 “+” 操作符和StringBuffer.append() 方法来连接字符串,并比较其性能:
public static void main(String[] args){ long startTime = System.currentTimeMillis(); for(int i=0;i<5000;i++){ String result = "This is" + "testing the" + "difference"+ "between" + "String"+ "and"+ "StringBuffer"; } long endTime = System.currentTimeMillis(); System.out.println("字符串连接" + " - 使用 + 操作符 : " + (endTime - startTime)+ " ms"); long startTime1 = System.currentTimeMillis(); for(int i=0;i<5000;i++){ StringBuffer result = new StringBuffer(); result.append("This is"); result.append("testing the"); result.append("difference"); result.append("between"); result.append("String"); result.append("and"); result.append("StringBuffer"); } long endTime1 = System.currentTimeMillis(); System.out.println("字符串连接" + " - 使用 StringBuffer : " + (endTime1 - startTime1)+ " ms"); }
码云源码地址:https://gitee.com/yan_wen_chao/java-string-operation
希望可以對大家有幫助;一起學習;