• 技术文章 >Java >Java基础

    关于java中的常用类——String的详细介绍

    VV2019-11-28 15:30:36转载646

    概述

    java.lang.String 类代表字符串。Java程序中所有的字符串文字(例如"abc")都可以被看作是实现此类的实例

    String 中包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,提取子字符串以及创建具有翻译为大写或小写的所有字符的字符串的副本。

    特点

    1.字符串不变:字符串的值在创建后不能被更改

    String s1 = "abc"; s1 += "d";
    System.out.println(s1); // "abcd"
    // 内存中有"abc","abcd"两个对象,s1从指向"abc",改变指向,指向了"abcd"。

    2.因为String对象是不可变的,所以它们可以被共享

    String s1 = "abc"; 
    String s2 = "abc";
    // 内存中只有一个"abc"对象被创建,同时被s1和s2共享。

    3."abc"等效于 char[] data = {'a','b','c'}

    a3d5742bd146f21df22c6c7efea8ec7.png

    在线学习视频分享:java视频

    使用步骤

    查看类

    java.lang.String 此类不需要导入。

    查看构造方法

    public String():初始化新创建的 String对象,以使其表示空字符序列。

    public String(char[] value) : 通过当前参数中的字符数组来构造新的String。

    public String(byte[] bytes) : 通过使用平台的默认字符集解码当前参数中的字节数组来构造新的String。

    构造举例,代码如下:

    80eada4143fa1dbdac6a6da2fa2faec.png

    常用方法

    判断功能的方法

    public boolean equals (Object anObject) :将此字符串与指定对象进行比较。

    public boolean equalsIgnoreCase (String anotherString) : 将此字符串与指定对象进行比较,忽略大小写

    方法演示,代码如下:

    0343df3839c9c0ff5849aaadb853b08.png

    Object 是” 对象”的意思,也是一种引用类型。作为参数类型,表示任意对象都可以传递到方法中。

    获取功能的方法

    public int length () 返回此字符串的长度。

    public String concat (String str) : 将指定的字符串连接到该字符串的末尾。

    public char charAt (int index) : 返回指定索引处的 char值。

    public int indexOf (String str):该字符串第一次出现的索引位置

    public String substring (int beginIndex) : 返回一个子字符串,从begin Index开始截取字符串到字符串结尾

    public String substring (int beginIndex, int endIndex) : 返回一个子字符串,从beginIndex到endIndex截取字符串。含beginIndex,不含endIndex。

    方法演示,代码如下:

    public class String_Demo02 {
        public static void main(String[] args) {
            //创建字符串对象
            String s = "helloworld";
    
            // int length():获取字符串的长度,其实也就是字符个数
            // System.out.println(s.length()); 
            // System.out.println("‐‐‐‐‐‐‐‐");
    
            // String concat (String str):将将指定的字符串连接到该字符串的末尾. 
            // String s = "helloworld";
            String s2 = s.concat("**hello itheima");
    
            // char charAt(int index):获取指定索引处的字符
            // System.out.println(s.charAt(0));
            // System.out.println(s.charAt(1));
            // System.out.println("‐‐‐‐‐‐‐‐");
    
            // int indexOf(String str):获取str在字符串对象中第一次出现的索引,没有返回‐1
            // System.out.println(s.indexOf("l"));
            // System.out.println(s.indexOf("owo"));
            // System.out.println(s.indexOf("ak"));
            System.out.println("‐‐‐‐‐‐‐‐");
    
            // String substring(int start):从start开始截取字符串到字符串结尾
            // System.out.println(s.substring(0)); 
            // System.out.println(s.substring(5)); 
            // System.out.println("‐‐‐‐‐‐‐‐");
    
            // String substring(int start,int end):从start到end截取字符串。含start,不含end。
            // System.out.println(s.substring(0, s.length()));
            // System.out.println(s.substring(3,8));
        }
    }

    public char[] toCharArray () : 将此字符串转换为新的字符串数组

    public byte[] getBytes () : 使用平台默认的字符集将该String编码转换为新的字节数组

    public String replace (CharSequence target, CharSequence replacement) : 将与target匹配的字符串使用replacement字符串替换。

    方法演示,代码如下:

    public class String_Demo03 {
        public static void main(String[] args) {
            //创建字符串对象String s = "abcde";
    
            // char[] toCharArray():把字符串转换为字符数组
            // char[] chs = s.toCharArray();
            for (int x = 0; x < chs.length; x++) {
                System.out.println(chs[x]);
            }
            System.out.println("‐‐‐‐‐‐‐‐‐‐‐");
    
            // byte[] getBytes ():把字符串转换为字节数组
            // byte[] bytes = s.getBytes();
            for (int x = 0; x < bytes.length; x++) {
                System.out.println(bytes[x]);
            }
            System.out.println("‐‐‐‐‐‐‐‐‐‐‐");
    
            // 替换字母it为大写IT
            // String replace = str.replace("it", "IT");
            // System.out.println(replace);
            // ITcast ITheima System.out.println("‐‐‐‐‐‐‐‐‐‐‐");
        }
    }

    CharSequence 是一个接口,也是一种引用类型。作为参数类型,可以把String对象传递到方法中。

    分割功能的方法

    public String[] split(String regex)将此字符串按照给定的regex(规则)拆分为字符串数组。

    方法演示,代码如下:

    8292402c33eb78eddfb0d056c02e115.png

    String类的练习

    拼接字符串

    定义一个方法,把数组{1,2,3}按照指定个格式拼接成一个字符串。格式参照如下:

    public class StringTest1 {
        public static void main(String[] args) {
            //定义一个int类型的数组
            // int[] arr = {1, 2, 3};
    
            //调用方法
            String s = arrayToString(arr);
    
            //输出结果System.out.println("s:" + s);
        }
    
        /*
         *写方法实现把数组中的元素按照指定的格式拼接成一个字符串
         *两个明确:
         *返回值类型:String
         *参数列表:int[] arr
         */
        public static String arrayToString(int[] arr) {
            // 创建字符串s
            String s = new String("[");
            // 遍历数组,并拼接字符串
            for (int x = 0; x < arr.length; x++) {
                if (x == arr.length - 1) {
                    s = s.concat(arr[x] + "]");
                } else {
                    s = s.concat(arr[x] + "#");
                }
            }
            return s;
        }
    
    }

    统计字符个数

    键盘录入一个字符,统计字符串中大小写字母及数字字符个数

    262b160ac600595521ba53eec1f0de4.png

    相关文章教程推荐:java入门

    以上就是关于java中的常用类——String的详细介绍的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:java 常用类 String
    上一篇:java常用类——Arrays 下一篇:如何在java中使用分治法中的快速排序解决排序问题
    大前端线上培训班

    相关文章推荐

    • java数组之一维数组• java常用类——Scanner• java常用类——Arrays• java怎么捕获异常

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网