专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Java常用API(String类)

Java常用API(String类)

概述:

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

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

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

这里我们就通过一个内存图来更好的向大家解释

首先我们来写一段简单的代码,然后画出该代码的内存图来帮助大家理解

 public class Test {
     public static void main(String[] args) {
        String str1="123";
        String str2="123";
        String str3=new String("123");
        System.out.println(str1==str2);//true
        System.out.println(str1==str3);//false
        System.out.println(str2==str3);//false
     }
 }

首先我给大家引入一个字符串常量池的概念

什么是字符串常量池呢,如上图

String str1==”123″

String str2==”123″

这样子命名的字符串的值就会被存入字符串常量池,而String str3=new String(“123”)这样new 出来的则不会

顾str1==str3的值为false,而str1==str2的结果则为true,下面通过一张图带大家更加深刻的去理解

当使用String str1=”XXXXX”格式命名的时候,会先去字符串常量池中找,如果没有再创建,这样极大的

减小了内存的浪费

130_1.png


1判断字符串内容是否相等的方法

public boolead equals(Object anObject)

2忽略大小写判断字符串内容是否相同的方法

public boolean equalsIgnoreCase (String anotherString)

 public class Test {
     public static void main(String[] args) {
        String str1="abc";
        String str2="abc";
        String str3="ABC";
         System.out.println(str1.equals(str2));//true
         System.out.println(str1.equals(str3));//false
         System.out.println(str1.equalsIgnoreCase(str3));

     }
 }

获取功能的方法

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

public String concat (String string) 将指定字符串连接到该字符串末尾

public char charat(int index) 返回指定索引处的char值

public int indexOf(String str) 返回指定字符串第一次出现的地方

public String substring (int beginIndex) 剪取字符串,字符串的范围为从begin到末尾

 package cn.itcast;

 public class Test {
     public static void main(String[] args) {
        String str1="abc";
        String str2="abc";
         System.out.println("字符串长度是:"+str1.length());
         String concat = str1.concat(str2);
         System.out.println("连接后的字符串:"+concat);
         System.out.println("第一个字母:"+str1.charAt(0));
         System.out.println("b第一次出现地方的索引:"+str1.indexOf("b"));
         String substring = str1.substring(1);
         System.out.println("截取后的字符串:"+substring);
     }
 }

结果

130_2.png

转换功能的方法

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

public byte[] getbytes() 将字符串转换为新的字节数组

public String replace(CharSequence target,CharSequence replace) 替换字符串中的指定字符

 public class Test {
     public static void main(String[] args) {
        String str1="abc";
        char[] chars = str1.toCharArray();
        byte[] bytes = str1.getBytes();
         System.out.println("转换为数组:");
         for (int i = 0; i < chars.length; i++) {
             System.out.print(chars[i]+",");
         }
         System.out.println();
         System.out.println("转换为字节数组:");
         for (int i = 0; i < bytes.length; i++) {
             System.out.print(bytes[i]+",");
         }
         System.out.println();
         String replace = str1.replace("a", "A");
         System.out.println("替换后的字符串:"+replace);
     }
 }

结果

130_3.png

分割方法

public String[] split(String regex)将字符串按照指定的分隔符分隔成数组

package cn.itcast;

import com.alibaba.druid.sql.visitor.SQLASTOutputVisitorUtils;

public class Test {
    public static void main(String[] args) {
       String str1="aa,bb,cc";
        String[] split = str1.split(",");
        System.out.println("以逗号分隔:");
        for (int i = 0; i < split.length; i++) {
            System.out.println(split[i]);
        }

    }
}

结果

130_4.png

以上就是有关字符串的一些基本知识,如果有错误还请各位批评指正

文章永久链接:https://tech.souyunku.com/38863

未经允许不得转载:搜云库技术团队 » Java常用API(String类)

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们