Java String类的方法总结,附加使用。

本文详细介绍了Java中字符串的使用方法,包括String、StringBuffer和StringBuilder的区别,以及如何使用String类的各种方法进行字符串处理,例如拼接、比较、查找子串等。
public class StringTest
{
    public static void main(String[] args)
    {

        //String 是不可变的
        //StringBuffer 和 StringBuilder是可变的

        String s   = new String("hello w");

        String s1 = new String("hello wolll");

        StringBuffer sb = new StringBuffer("hello w");

        char[] c = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
        //获取字符串的指定位置的字符
        //System.out.println("s.charAt(4) : " + s.charAt(4));

        /*比较两个字符串的大小,如果两个字符串的字符序列相等,则返回0
        不相等时,从两个字符串第-个字符开始比较,返回第一个不相等的字符差*/
        //System.out.println("s.compareTo(s1)); ==> 4

        //进行字符串的连接与字符串 + 的功能相同
        //System.out.println("s.concat(s1) : "+ s.concat(s1));

        /*将String对象与StringBuffer对象sb进行比较,
        当它们包含的字符序列相同时返回true。*/
        //System.out.println("s.contentEquals(sb) : " + s.contentEquals(sb));

        //将字符数组连缀成字符串从1开始,长度为6  "ello w"
        //String.copyValueOf(c)整个字符数组连缀成字符串
        //System.out.println(String.copyValueOf(c, 1, 6));

        //将该字符串与指定对象比较,如果两者包含的字符序列相等,则返回true,否则返回false
        //System.out.println(s.equals(s1));

        //与前一个方法相似,只是忽略大小写
        //System.out.println(s.equalsIgnoreCase(s1));

        //endsWith(String suffix)返回该String对象是否以suffix结尾
        //System.out.println(s1.endsWith("olll"));

        //startsWith(String suffix)返回该String对象是否以suffix开头
        //System.out.println(s1.startsWith("he"));

        //将该String对象转换成byte数组
        //byte[]  bt = s.getBytes();

        /* void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
        该方法将字符串中从srcBegin开始,到srcEnd结束的字符复制到dst字符数组
        中,其中dstBegin为目标字符数组的起始复制位置。*/
        //s1.getChars(3, 6, c, 5);
        //System.out.println(c);

        //int indexOf(String str)找出str子字符在该字符串中第一次出现的位置。
        //System.out.println(s.indexOf("ell"));

        //int lastIndexOf(String str)找出str子字符在该字符串中第最后一次出现的位置。
        //System.out.println(s1.lastIndexOf("o"));

        //返回当前字符串的长度
        //System.out.println(s1.length());

        /*String substring(int beginIndex); 获取从beginIndex开始的子串
        String substring(int beginIndex, int endIndex);获取beginIndex位置开始到
        endIndex的子字符串。*/
        //System.out.println(s1.substring(3));
        //System.out.println(s1.substring(3, 6));

        //char[] toCharArray() 将String对象转换为char数组
        //String toLowerCase() 将字符串转换成小写
        //String toUpperCase() 讲字符串转换成大写

        //static String valueOf(X x) 将基本类型值转换为String对象的方法
        //System.out.println(String.valueOf(18));



    }
}
### 计算机二级 Java `String` 知识点教程 #### 字符串创建方式 字符串可以通过两种主要的方式创建:通过直接量和使用 `new` 关键字。当使用直接量创建时,如果该字符串已经存在于常量池中,则不会创建新的对象;反之则会加入到常量池中。 ```java String s1 = "hello"; // 使用直接量创建 String s2 = new String("world"); // 使用 new 创建 ``` 这种方式的区别在于内存管理以及性能上的差异[^1]。 #### 不可变性 一旦创建了一个 `String` 对象之后就不能再修改它的值。每次对字符串的操作实际上都会返回一个新的 `String` 实例来保存操作后的结果。这种特性使得 `String` 成为了线程安全的数据结构,在多线程环境中可以放心使用而无需额外同步措施。 #### 常见方法汇总 - **比较两个字符串** - `equals(Object anObject)` 方法用于判断当前字符串与指定的对象是否相等。 - `equalsIgnoreCase(String anotherString)` 可忽略大小写地进行上述对比。 - **获取子串** - `substring(int beginIndex, int endIndex)` 返回从给定索引位置提取出来的部分字符串副本。 - **查找字符或子串的位置** - `indexOf(int ch)` 和 `lastIndexOf(int ch)` 分别用来寻找第一次出现及最后一次出现的目标字符所在下标。 - 同样适用于整个子串的定位工作 (`indexOf(String str)`, `lastIndexOf(String str)`). - **转换大小写字母** - `toLowerCase()` 将所有大写的英文字母转成对应的小写形式; - 而 `toUpperCase()` 则相反,把所有的字母都变成大写版本。 - **去除首尾空白** - `trim()` 移除字符串两端多余的空格和其他不可见字符(如制表符),但不影响中间存在的任何间隔符号。 - **拼接其他序列** - `concat(String str)` 把参数代表的内容附加至原字符串后面形成更长的整体输出。 - **替换特定模式** - `replace(char oldChar, char newChar)` 或者更为通用的形式 `replaceAll(String regex, String replacement)` 来实现全局性的字符/正则表达式的匹配替换成新内容的功能。 以上就是针对计算机等级考试中的 Java 编程语言里有关于 `String` 的一些基础却重要的概念和技术要点介绍。 ```python # Python 示例仅作展示用途,并非 Java 语法 s = ' Hello ' print(s.strip()) # 输出: 'Hello' print(s.lower()) # 输出: ' hello ' print(s.upper()) # 输出: ' HELLO ' print('abc'.isalpha()) # 输出: True ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值