栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

java-String类用法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java-String类用法

String类
    • String字符串常量特点
    • String两种方式创建字符串的区别
    • String的构造方法
      • public String():空构造
      • public String(byte[] bytes):把字节数组转成字符串
      • public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串
      • public String(char[] value):把字符数组转成字符串
      • public String(char[] value,int index,int count):把字符数组的一部分转成字符串,index第一位开始取(包括),count取多少个
      • public String(String original):把字符串常量值转成字符串
      • length() 返回此字符串的长度
    • String类的判断功能
      • boolean equals(Object obj):比较字符串的内容是否相同,区分大小写
      • boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
      • boolean contains(String str):判断大字符串中是否包含小字符串,区分大小写
      • boolean startsWith(String str):判断字符串是否以某个指定的字符串开头,区分大小写
      • boolean endsWith(String str):判断字符串是否以某个指定的字符串结尾,区分大小写
      • boolean isEmpty():判断字符串是否为空
    • String类的获取功能
      • char charAt(int index):获取指定索引位置的字符
      • int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引
      • int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引
      • int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。
      • int indexOf(String str,int fromIndex):返回指定字符串在此字符串中从指定位置后第一次出现处的索引。
      • String substring(int start):从指定位置开始截取字符串,默认到末尾。
      • String substring(int start,int end):从指定位置开始到指定位置结束截取字符串,不包含结束位置
    • String类的转换功能
      • byte[] getBytes():把字符串转换为字节数组。
      • char[] toCharArray():把字符串转换为字符数组。
      • static String valueOf(char[] chs):把字符数组转成字符串。
      • static String valueOf(int i):把int类型的数据转成字符串。
      • String toLowerCase():把字符串转成小写
      • String toUpperCase():把字符串转成大写。
      • String concat(String str):把字符串拼接。
    • String替换功能
      • String replace(char old,char new):把字符串中的某个字符用新的字符所替换
      • String replace(String old,String new)把字符串中的某个字符串用新的来替换
      • String trim() 去除字符串两端空格

String字符串常量特点

字符串是常量;它们的值在创建之后不能更改,这是什么意思呢?
就是说一旦这个字符串确定,那么就会在内存区域中生成这个字符串。
字符串本身不能改变,但str变量中记录的地址值是可以改变的。

String两种方式创建字符串的区别

String特点:一旦被赋值就不能改变
通过使用双引号的方式创建对象与new的方式创建对象,有什么不同呢?看如下程序:

String s3 = "abc";
String s4 = new String("abc");
System.out.println(s3==s4);//false
System.out.println(s3.equals(s4));//true,
//因为String重写了equals方法,建立了字符串自己的判断相同的依据(通过字符串对象中的字符来判断)

s3和s4的创建方式有什么不同呢?
s3创建,在内存中只有一个对象。这个对象在字符串常量池中
s4创建,在内存中有两个对象。一个new的对象在堆中,一个字符串本身对象,在字符串常量池中

String的构造方法
  • public String():空构造
  • public String(byte[] bytes):把字节数组转成字符串
  • public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串
  • public String(char[] value):把字符数组转成字符串
  • public String(char[] value,int index,int count):把字符数组的一部分转成字符串,index第一位开始取(包括),count取多少个
  • public String(String original):把字符串常量值转成字符串
  • length() 返回此字符串的长度。
public String():空构造
class Test {
    public static void main(String[] args) {
    String s=new String();
        System.out.println(s);
    }
}
//无输出值,并不是null

如果要输出需要主动添加值

class Test {
    public static void main(String[] args) {
    String s=new String("aaa");
        System.out.println(s);
    }
}
//输出:aaa
public String(byte[] bytes):把字节数组转成字符串

注意是字符串

class Test {
    public static void main(String[] args) {
        //添加字节
        byte[] bytes = {'a', 'b', 'c', 'd'};
        String s =new String(bytes);
        System.out.println(s);
        //输出:abcd

        //添加数字
        //会根据Ascii码输出
        byte[] bytes2 = {97,98,99,100};
        String s1 = new String(bytes2);
        System.out.println(s1);
        //输出:abcd
    }
}
public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串

注意是字符串

class Test {
    public static void main(String[] args) {
		//public String(byte[] bytes,int index,int length)
		// index 起始位置,length 取多少个
		
        //添加字节
        byte[] bytes = {'a', 'b', 'c', 'd'};
        // 参数offset:为数组元素的起始索引位置,
		// 参数length为要几个元素
        String s =new String(bytes,1,2);
        System.out.println(s);
        //输出:bc

        //添加数字
        //会根据Ascii码输出
        byte[] bytes2 = {97,98,99,100};
        String s1 = new String(bytes2,1,2);
        System.out.println(s1);
        //输出:bc
    }
}
public String(char[] value):把字符数组转成字符串

注意是字符串

class Test {
    public static void main(String[] args) {
    	//添加字符
        char[] chars = {'a', 98, 'c', 100};
        String s = new String(chars);
        //根据Ascii码输出
        System.out.println(s);
        //输出:abcd
    }
}
public String(char[] value,int index,int count):把字符数组的一部分转成字符串,index第一位开始取(包括),count取多少个

注意是字符串

class Test {
    public static void main(String[] args) {
        // public String(char[] value,int index,int count)
        // index 起始位置,length 取多少个
        //添加字符
        char[] chars = {'a', 98, 'c', 100};
        // 参数offset为数组元素的起始索引位置
		// 参数count为要几个元素
        String s = new String(chars,1,2);
        //根据Ascii码输出
        System.out.println(s);
        //输出:bc
    }
}
public String(String original):把字符串常量值转成字符串
class Test {
    public static void main(String[] args) {
        String s=new String("我爱学习");
        System.out.println(s);
        //输出:我爱学习
    }
}
length() 返回此字符串的长度
class Test {
    public static void main(String[] args) {
        String s = "我爱学习";
        System.out.println(s.length());
        //输出:4
    }
}
String类的判断功能
  • boolean equals(Object obj):比较字符串的内容是否相同,区分大小写
  • boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
  • boolean contains(String str):判断大字符串中是否包含小字符串,区分大小写
  • boolean startsWith(String str):判断字符串是否以某个指定的字符串开头,区分大小写
  • boolean endsWith(String str):判断字符串是否以某个指定的字符串结尾,区分大小写
  • boolean isEmpty():判断字符串是否为空。
boolean equals(Object obj):比较字符串的内容是否相同,区分大小写
class Test {
    public static void main(String[] args) {
        String s1 = "ZhangSan";// Z/S大
        String s2 = "ZhangSan";// Z/S大
        String s3 = "zhangsan";// z/s小
        
        System.out.println(s1.equals(s2));//true
        System.out.println(s1.equals(s3));//false
    }
}
boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
class Test {
    public static void main(String[] args) {
        String s1 = "ZhangSan";// Z/S大
        String s2 = "ZhangSan";// Z/S大
        String s3 = "zhangsan";// z/s小

        System.out.println(s1.equalsIgnoreCase(s2));//true
        System.out.println(s1.equalsIgnoreCase(s3));//true
    }
}
boolean contains(String str):判断大字符串中是否包含小字符串,区分大小写
class Test {
    public static void main(String[] args) {
        String s1 = "ZhangSan";// Z/S大
        String s2 = "ZhangSan";// Z/S大
        String s3 = "zhangsan";// z/s小

        System.out.println(s1.contains("ang"));//true
        System.out.println(s1.contains("Ang"));//false
    }
}
boolean startsWith(String str):判断字符串是否以某个指定的字符串开头,区分大小写
class Test {
    public static void main(String[] args) {
        String s1 = "ZhangSan";// Z/S大
        String s2 = "ZhangSan";// Z/S大
        String s3 = "zhangsan";// z/s小

        System.out.println(s1.startsWith("z"));//输入小写z,结果:false
        System.out.println(s1.startsWith("Z"));//输入大写Z,结果:true
    }
}
boolean endsWith(String str):判断字符串是否以某个指定的字符串结尾,区分大小写
class Test {
    public static void main(String[] args) {
        String s1 = "ZhangSan";// Z/S大
        String s2 = "ZhangSan";// Z/S大
        String s3 = "zhangsan";// z/s小
        
        System.out.println(s1.endsWith("an"));//true
        System.out.println(s1.endsWith("An"));//false
    }
}
boolean isEmpty():判断字符串是否为空
class Test {
    public static void main(String[] args) {
        String s1 = "ZhangSan";// Z/S大
        String s2 = "ZhangSan";// Z/S大
        String s3 = "zhangsan";// z/s小

        System.out.println(s1.isEmpty());//false
    }
}
String类的获取功能
  • char charAt(int index):获取指定索引位置的字符
  • int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引
    
  • int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引
    
  • int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。
    
  • int indexOf(String str,int fromIndex):返回指定字符串在此字符串中从指定位置后第一次出现处的索引。
    
  • String substring(int start):从指定位置开始截取字符串,默认到末尾。
    
  • String substring(int start,int end):从指定位置开始到指定位置结束截取字符串,不包含结束位置
    
char charAt(int index):获取指定索引位置的字符
class Test {
    public static void main(String[] args) {
        String s = "abcdefg";
        System.out.println(s.charAt(5));
        //输出:f
    }
}
int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引
class Test {
    public static void main(String[] args) {
        String s = "abcdefg";
        System.out.println(s.indexOf("d"));
        //输出:3
    }
}
int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引
class Test {
    public static void main(String[] args) {
        String s = "abcdefg";
        System.out.println(s.indexOf("cd"));
        //输出:2
    }
}
int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。
class Test {
    public static void main(String[] args) {
        String s = "abccba";
        System.out.println(s.indexOf("c"));
        //输出:2
    }
}
int indexOf(String str,int fromIndex):返回指定字符串在此字符串中从指定位置后第一次出现处的索引。
class Test {
    public static void main(String[] args) {
        String s = "abccbaabccba";
        System.out.println(s.indexOf("cb"));
        //输出:3
    }
}
String substring(int start):从指定位置开始截取字符串,默认到末尾。
class Test {
    public static void main(String[] args) {
        String s = "abcdefg";
        System.out.println(s.substring(5));
        //输出:fg
    }
}
String substring(int start,int end):从指定位置开始到指定位置结束截取字符串,不包含结束位置
class Test {
    public static void main(String[] args) {
        String s = "abcdefg";
        System.out.println(s.substring(2,5));
        //输出:cde
    }
}
String类的转换功能
  • byte[] getBytes():把字符串转换为字节数组。
  • char[] toCharArray():把字符串转换为字符数组。
  • static String valueOf(char[] chs):把字符数组转成字符串。
  • static String valueOf(int i):把int类型的数据转成字符串。
  • String toLowerCase():把字符串转成小写。
  • String toUpperCase():把字符串转成大写。
  • String concat(String str):把字符串拼接。
byte[] getBytes():把字符串转换为字节数组。

会有Ascii码转换

class Test {
    public static void main(String[] args) {
        String s = "abcd";
        byte[] bytes = s.getBytes();
        //遍历数组
        for (int i = 0; i < bytes.length; i++) {
        	//逐个取值,按照Ascii码
            System.out.println(bytes[i]);
            //输出:97
            //     98
            //     99
            //     100
        }
    }
}
char[] toCharArray():把字符串转换为字符数组。
class Test {
    public static void main(String[] args) {
        String s = "abcd";
        char[] chars = s.toCharArray();
        //遍历数组
        for (int i = 0; i < chars.length; i++) {
        //逐个取值
            System.out.println(chars[i]);
            //输出:a
            //     b
            //     c
            //     d
        }
    }
}
static String valueOf(char[] chs):把字符数组转成字符串。
class Test {
    public static void main(String[] args) {
        char[] chars = {'a', 'b', 'c', 'd'};
        System.out.println(String.valueOf(chars));
        //输出:abcd
        
        char[] chars2 = {97, 98, 99, 100};
        //Ascii码转
        System.out.println(String.valueOf(chars2));
        //输出:abcd
    }
}
static String valueOf(int i):把int类型的数据转成字符串。
class Test {
    public static void main(String[] args) {
        String s=String.valueOf(123456);
        System.out.println(s);
        //输出:123456
        //注意,此时的123456是一个s所代表的字符串
    }
}
String toLowerCase():把字符串转成小写
class Test {
    public static void main(String[] args) {
        String s="ABCD";
        System.out.println(s.toLowerCase());
        //输出:abcd
    }
}
String toUpperCase():把字符串转成大写。
class Test {
    public static void main(String[] args) {
        String s="abcd";
        System.out.println(s.toUpperCase());
        //输出:ABCD
    }
}
String concat(String str):把字符串拼接。
class Test {
    public static void main(String[] args) {
        String s = "ab";
        System.out.println(s.concat("cd"));
        //输出:abcd
    }
}
String替换功能
  • String replace(char old,char new):把字符串中的某个字符用新的字符所替换
  • String replace(String old,String new)把字符串中的某个字符串用新的来替换
  • String trim() 去除字符串两端空格
String replace(char old,char new):把字符串中的某个字符用新的字符所替换
class Test {
    public static void main(String[] args) {
        String s = "ab";
        System.out.println(s.replace("a", "c"));
        //输出:cb
    }
}
String replace(String old,String new)把字符串中的某个字符串用新的来替换
class Test {
    public static void main(String[] args) {
        String s = "ab";
        System.out.println(s.replace("ab", "cd"));
        //输出:cd
    }
}

String trim() 去除字符串两端空格
class Test {
    public static void main(String[] args) {
        String s = "     May all the beauty be blessed";
        System.out.println(s.trim());
        System.out.println(s);
        //输出:May all the beauty be blessed
        //          May all the beauty be blessed
   
    }
}
转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1036577.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号