Java中的常用类(API字典)

1.String 字符串类

Java程序中所有字符串文字(例如"abc")都实现为此类的实例

1)简单介绍

​ String : 少量修改字符串,适合使用String,因为表示字符串String对象简单,功能强大的API

String str ="abc";	//创建了一个字符串对象"abc",字符串常量 -->字符串常量池中
String str2 = new String("haha");//2个对象	第一个new在堆中	第二个"haha"-->字符串常量池中
String str2 = new String("abc");//1个对象 第一个new-->在堆中	"abc"-->上面已经使用过,字符串常量池中已存在

字符串底层:
    jdk11-->使用private final byte[] value; 字节数组存储字符串中的字符数据
    jdk8--> private final char[] value;字符数组
    //字符串的底层其实是用字节型数组存储数据的

2)String 类中的各方法调用

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

String str1 = new String();
String str2 = "";
System.out.println(str1==str2);  //false

2.String(String original) 初始化新创建的String对象,使其表示与参数相同的字符序列;

//换句话说,新创建的字符串是参数字符串的副本
 String str3 = new String("abc");
        System.out.println(str3);

3.String(char[] value) 分配新的 String ,使其表示当前包含在字符数组参数中的字符序列。

//字符数组转为字符串
        char[] arr = {
   'y','j','x','x','t'};
        String str4 = new String(arr);
        System.out.println(str4);

4.String(char[] value, int offset, int count) 分配一个新的 String ,其中包含字符数组参数的子数组中的字符。

//不同的字符编码格式(转换方式参照不同的字符集) 1个汉字->gbk->2个字节  1个汉字->utf-8->3个字节
        //字符串转为字节数组
        byte[] arr2 = "你好".getBytes(); //默认字符编码格式utf-8
        byte[] arr3 = "你好".getBytes("gbk"); //字符编码格式gbk
        System.out.println(arr2.length);
        System.out.println(arr3.length);
        //要保证编码解码字符编码一致才不会出现乱码

        //字节数组转为字符串-->注意编码格式问题
        String str6 = new String(arr2);
        System.out.println(str6);

5.String(byte[] bytes, String charsetName) 构造一个新的String由指定用指定的字节的数组解码charset 。

String str7 = new String(arr3,"gbk");
        System.out.println(str7);

6.字节数组中某一部分字节数据转为字符串

//String(byte[] bytes, int offset, int length) 通过使用平台的默认字符集解码指定的字节子阵列来构造新的 String 。
//String(byte[] bytes, int offset, int length, String charsetName) 通过使用指定的字符集解码指定的字节子 String构造新的 String 。
        String str8 = new String(arr2,3,3);
        System.out.println(str8);

其他String类方法

/*
    String 常用方法:

 */
public class Class002_String {
   
    public static void main(String[] args) {
   
        String str1 = new String("jintiantainqihenre");
        String str2 = new String("jintiantainqihenre");

        //char charAt(int index) 返回指定索引处的 char值。
        System.out.println(str1.charAt(5));

        //int codePointAt(int index) 返回指定索引处的字符(Unicode代码点)。
        System.out.println(str1.codePointAt(5));

        //int compareTo(String anotherString) 按字典顺序比较两个字符串。
        //str1.compareTo(str2)  返回值 : 0-->str1=str2   >0--> str1>str2   <0-->str1<str2
        System.out.println(str1.compareTo(str2));
        //int compareToIgnoreCase(String str) 按字典顺序比较两个字符串,忽略大小写差异。
        System.out.println(str1.compareToIgnoreCase(str2));

        //String concat(String str) 将指定的字符串连接到此字符串的末尾。
        System.out.println(str1.concat(str2));
        System.out.println(str1);

        //boolean contains(CharSequence s) 当且仅当此字符串包含指定的char值序列时,才返回true。
        System.out.println(str1.contains("jin"));

        //boolean endsWith(String suffix) 测试此字符串是否以指定的后缀结尾。
        System.out.println(str1.endsWith("hao")
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值