Java字符串简单使用方法

Java字符串类型为String类,以下介绍怎样操作字符串。

1、字符串连接

字符串连接使用“+”符号。例如以下样例:

        String s = new String("Hello");
        String s2 = new String("World");
        System.out.println(s + " " + s2); // Hello World

2、获取字符串长度

获取字符串长度使用str.length()。例如以下样例:

        String s3 = new String("Hello Java");
        System.out.println(s3.length()); // 10

3、获取指定字符串的索引

获取指定字符串的索引使用str.indexOf(substr)、str.lastIndexOf(substr),例如以下样例:

        String s4 = new String("how are you");
        System.out.println(s4.indexOf("o")); // 1 从头開始查找
        System.out.println(s4.lastIndexOf("o")); // 9 从尾開始查找

4、获取指定索引的字符

获取指定索引的字符使用str.charAt(index),例如以下样例:

        String s5 = new String("Hello Java");
        System.out.println(s5.charAt(4)); // o

5、去除字符串中的空格

去除字符串中的空格有多种方法。使用str.trim()或str.replaceAll(regex, replacement)。也能够借用StringTokenizer类对字符串使用空格进行分隔。使用前须要import包java.util.StringTokenizer,例如以下样例:

        String s6 = new String("  Hello Java  ");
        String s7 = s6.trim(); // 去除字符串開始、结尾处的空格
        String s8 = s6.replaceAll(" ", ""); // 替换字符串中的所有空格
        StringTokenizer st = new StringTokenizer(s6, " "); // 使用空格分隔字符串
        StringBuffer sb = new StringBuffer();
        while (st.hasMoreTokens()) {
            sb.append(st.nextToken());
        }
        System.out.println("\"" + s6 + "\"" + "length = " + s6.length()); // "  Hello Java  "length = 14
        System.out.println("\"" + s7 + "\"" + "length = " + s7.length()); // "Hello Java"length = 10
        System.out.println("\"" + s8 + "\"" + "length = " + s8.length()); // "HelloJava"length = 9
        System.out.println("\"" + sb.toString() + "\"" + "length = " + sb.toString().length()); // "HelloJava"length = 9

6、替换字符串

替换字符串能够替换所有子串,也能够替换第一个子串,例如以下样例:

        String sr = new String("abc abd bcd");
        String sr2 = sr.replace("ab", "xx"); // 替换所有子串
        String sr3 = sr.replaceFirst("ab", "xx"); // 替换第一个字串
        System.out.println(sr2); // "xxc xxd bcd"
        System.out.println(sr3); // "xxc adb bcd"

7、字符串判等

字符串判等有多种情况,比如字符串内容判等、是否忽略大写和小写、内存地址判等、字符串開始或结尾处推断等,例如以下样例:

        String se = new String("Summer is so Hot");
        String se1 = new String("Summer is so Hot");
        String se2 = new String("summer is so hot");
        String se3 = se;
        System.out.println(se == se1); // false 比較内存而非字符串内容
        System.out.println(se == se3); // true
        System.out.println(se.equals(se1)); // true 比較字符串内容
        System.out.println(se.equals(se2)); // false
        System.out.println(se.equalsIgnoreCase(se2)); // true 忽略大写和小写
        System.out.println(se2.startsWith("summer")); // true 字符串開始
        System.out.println(se2.endsWith("cold")); // false 字符串结尾

8、字符串大写和小写转换

字符串大写和小写转换例如以下样例:

        String sc = new String("hello WORLD");
        String scl = sc.toLowerCase(); // hello world 转换为小写
        String scu = sc.toUpperCase(); // HELLO WORLD 转换为大写
        System.out.println(scl + " " + scu);

9、字符串分隔

字符串分隔例如以下样例:

        String ss = new String("abc,def,g,h");
        String[] ss2 = ss.split(","); // 以逗号分隔
        for (String x: ss2) {
            System.out.print(x + "\t"); // abc def g h
        }

10、格式化字符串

字符串格式化有多种形式,如日期格式化、时间格式化、进制转换等,Date类的使用须要import包java.util.Date,例如以下样例:

        Date d = new Date();
        System.out.println(d); // Wed Jul 22 16:00:36 CST 2015 默认格式
        System.out.println(String.format("%tm", d)); // 07 两位数月份
        System.out.println(String.format("%tH", d)); // 16 两位24小时制
        System.out.println(String.format("%x", 256)); // 100 十六进制

11、String、StringBuffer、StringBuilder类比較

String:字符串常量,不可变对象,变量内容改变时实际上是生成了一个新的String对象,当多次、频繁改变变量内容时,会对系统性能产生影响。特别是由此导致GC開始工作时,程序速度就会变的非常慢。

StringBuffer:字符串变量。线程安全,变量内容改变时事实上是对同一个对象进行操作,效率比String类型高。

StringBuilder:字符串变量。与StringBuffer兼容,却是非线程安全的,假设是单线程。优先使用StringBuilder,它比StringBuffer要快。

时间: 2024-10-14 10:46:25

Java字符串简单使用方法的相关文章

去掉有序数组中重复数字 原地 leetcode java (最简单的方法)

1.利用荷兰国旗的思路,每次记住最后一个位置,遇到一个不重复的数,放在它后面,代码很简单. Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this in place with consta

Java字符串拼接新方法 StringJoiner

Java中如何输出像1-2-3-4-5 这样的字符 抱歉对于这个问题我甚至不能想到一个合适的标题,但是不重要 以下操作基于 jdk 1.8 StringJoiner sj = new StringJoiner("-", "", ""); sj.add("1").add("1").add("2"); String desiredString = sj.toString(); 在1.8版本中

java字符串替换repalce方法实现

////将一个字符串中的空格替换为另外一个字符串 函数主体如下 1 ////替换空格 2 private static char[] replaceTrim(char[] str1,char[] tidai) { 3 // TODO 自动生成的方法存根 4 int count=0; 5 for (int i = 0; i < str1.length; i++) { 6 if (str1[i]==' ') { 7 count++; 8 } 9 } 10 ///传入替代的符号的长度-空格的长度就是新

再谈怎样以最简单的方法将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式

今天review代码,看见某些大爷在将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式时仍然仅仅顾结果不注重过程,"大爷"咱能负点责任吗? 将泛型为String类型的集合转化为逗号间隔字符串形式: 測试类: package com.ghj.packageofclient; import java.util.ArrayList; import java.util.List; import com.ghj.packageoftool.StringUtils; p

再谈如何以最简单的方法将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式

今天review代码,看见某些大爷在将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式时仍然只顾结果不注重过程,"大爷"咱能负点责任吗? 将泛型为String类型的集合转化为逗号间隔字符串形式: 测试类: package com.ghj.packageofclient; import java.util.ArrayList; import java.util.List; import com.ghj.packageoftool.StringUtils; pu

【java解惑】java字符串替换方法使用

    如下代码: public class Example020 { public static void main(String[] args) { String separator = File.separator; String clazzName = Example020.class.getName(); String rs1 = clazzName.replace(".", separator); // 方法1 String rs2 = clazzName.replaceA

java中常用的字符串的截取方法

java中常用的字符串的截取方法   1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len=s.length(); 2.charAt() 截取一个字符 例:char ch; ch="abc".charAt(1); 返回'b' 3.getChars() 截取多个字符 void getChars(int sourceStart,int sourceEnd,char target

java操作xml超简单的方法

用dom4j?SAX?no,no,no,光看api和帮助文档就烦,有没有更简单的方法呢?答案是有的. 那就是默默无名的:JAXB jaxb是啥? 摘抄一段度娘百科的介绍: JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成JSON,这样一来可以更好的标志可以转换为JSON对象的JAVA类.JAXB允许JAVA人员将JAVA类映射为XML表示方式,常用的注解包括:@XmlRootElement,@X

java中字符串切割的方法总结

StringTokenizer最快 ,基本已经不用了,除非在某些需要效率的场合.Scanner最慢. String和Pattern速度差不多.Pattern稍快些. String和Pattern的split 方法效率相当,常用 public   static   void  main(String [] args){ long  start = System.currentTimeMillis(); for ( int  i= 0 ;i< 100000 ;i++){ test1(); } lon