详解Java String类常用方法有哪些

网友投稿 279 2022-10-19


详解Java String类常用方法有哪些

一、构造器

实质是给底层的char数组value赋值

String s1 = new String();

String s2 = new String(“abc”);

String s3 = new String(new char[]{‘a',‘b',‘c'});

二、方法

str.length() 字符串长度本质是底层的char数组的长度

str.isEmpty() 本质是判断底层char数组长度是否为0

str.charAt(i) 本质是取底层char数组的第i个元素(字符)

str1.equals(str2)本质是比较二者底层char数组的元素是否都相等

str1.compareTo(str2)本质是返回二者底层char数组中第一个不同元素(字符的码值)之差,如果没有不同元素,则返回二者底层char数组长度之差。如果返回0,说明二者底层char数组相同。

三、常用方法

package com.llg.learnString;

import java.util.Arrays;

import java.util.Locale;

public class Learn01 {

//程序的入口

public static void main(String[] args) {

String s11 = "abcdefghijk";

System.out.println(s11);

//字符串截取 从第3位开始取到最后

System.out.println(s11.substring(3));//defghijk

//字符串截取 从第3位开始取到第6位最后

System.out.println(s11.substring(3, 6));//def

//字符串合并拼接 把zzzzz拼接到后面

System.out.println(s11.concat("zzzzz"));//abcdefghijkzzzzz

//字符串中的字符替换 把b替换为x

System.out.println(s11.replace('b','x'));//axcdefghihttp://jk

String s12 = "a-b-c-def-ghi-jk";

//字符串分割 以-分割字符串,返回字符串数组

String[] strarr= s12.split("-");

System.out.println(Arrays.toString(strarr));//[a, b, c, def, ghi, jk]

//转换为小写

String s13 = "abc";

System.out.println(s13.toUpperCase());//ABC

//转换为大写

String s14 = "ABC";

System.out.println(s14.toLowerCase());//abc

//去除首尾空格

String s15 = " a b c def ";

System.out.println(s15.trim());//a b c def

//toString

String s16 = "abc";

System.out.println(s16.toString());//abc

//转换为字符串String.valueOf

System.out.println(String.valueOf(true));//true

System.out.println(String.valueOf(false));//false

}

}

四、String的内存分析

4.1、无变量参与的字符串拼接,编译后只存在结果字符串

编译器优化

4.2、new String(“abc”)新的字符串对象

4.3、变量参与的字符串拼接,编译器不会优化

反汇编查看javap -c Learn5.class


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:云安全5大关注点
下一篇:“构建新一代数据中心”技术研讨会来到长春
相关文章

 发表评论

暂时没有评论,来抢沙发吧~