java进阶_String

String概述

字符串

  • 由多个字符组成的一串数据,0----n个,通常用""
  • 字符串一旦被赋值,就不能改变—字符串属于常量"a"

String对象的创建

  • String str = new String(“java”);
  • String str = “java”

常用方法

  • 判断

    • “==”与equals的区别
    • ==:比较的是字符串的地址
    • equals:比较的是字符串的值

    代码演示

public class Test1 {
	public static void main(String[] args) {
		String str1 = "java";
		String str2 = "java";
		String str3 = new String("java");
		String str4 = new String("java");
	
		//equals:对字符串的值进行比较
		System.out.println(str1.equals(str2));//true
		System.out.println(str1.equals(str3));//true
		System.out.println(str3.equals(str4));//true
		// ==:对字符串的地址和值都进行比较
		System.out.println(str1 == str2);//true
		System.out.println(str1 == str3);//false
		System.out.println(str3 == str4);//false
	}
}

其他方法

获取

  • charAt(int index) :获取指定位置的字符
  • getBytes() :将字符串转为字节数组
    • 字节是计算机存储数据的基本单位,可以用于文件的读写,不同计算机之间的交互
  • indexOf(int ch) :获取ch字符第一次出现的位置,如果字符串中不存在ch字符,则返回-1
  • indexOf(String str) :获取str字符第一次出现的位置,如果字符串中不存在str字符,则返回-1
  • isEmpty():判断字符串长度是不是为0
  • length():返回字符串的长度
  • startsWith(String prefix) :字符串以prefix开头
  • *substring(int beginIndex) :从beginIndex开始截取到字符串结束的字符串,到字包含beginIndex位置的字符
  • substring(int beginIndex, int endIndex) :从beginIndex开始截取到endIndex的字符串,包含beginIndex,但不包含endIndex

转换

  • split(String regex) :将字符串拆分为字符串数组
  • toCharArray():将字符串转化为字符数组
  • toUpperCase() :将字符串中的所有符号转换为大写

替换

  • replace(char oldChar, char newChar):替换,将oldChar替换成newChar,不会对原来的字符串产生影响
  • replace(CharSequence oldStr, CharSequence newStr) :替换,将oldStr替换成newStr,不会对原来的字符串产生影响
  • str.trim():去除字符串的前后空格;注意中文空格,去不掉

可变字符串

​ *字符串拼接:效率不高

​ *StringBuilder:非线程安全,通常用在单个线程中。如果在单个线程中使用,建议使用StringBuilder

​ * 反转 reverse()

​ *StringBuffer : 线程安全的,在多个线程共享数量时使用StringBuffer,StringBuffer在单个线程中也可以使用

代码演示

package com.tian.test;

public class Test2 {
	public static void main(String[] args) {
		String str = "java";
		str = str + "abc";
		str = str + "efg";
		str = str + "abc";
		System.out.println(str);// javaabcefgabc
		StringBuilder strBul = new StringBuilder("java");
		strBul.append("abc").append("efg").append("abc");
		System.out.println(strBul);// javaabcefgabc
        System.out.println(strBul.reverse());// cbagfecbaavaj
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值