字符串

Posted qiyuancc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串相关的知识,希望对你有一定的参考价值。

字符串的内存问题

点击查看代码
public static void main(String[] args) 
        String str1 = "卡卡罗特";
        String str2 = "卡卡罗特";
        String str3 =new String("卡卡罗特");
        String str4 =new String("卡卡罗特");
        System.out.println(str1==str2);
        System.out.println(str1==str3);
        System.out.println(str3==str4);
    

//结果true、false、false
# 将字符串对象如何加入到常量池中
点击查看代码
public static void main(String[] args) 
        String str1 =new String("卡卡罗特");
        String str2 = "卡卡罗特";
        String str3 =str1.intern();
        System.out.println(str2==str3);
    

结果:true
**注意:把一个在堆中的字符串加入到常量池当中,如果没有,则新建,如果有,返回该地址** # 字符串的常用api ## 注意: 1. String的本质是一个char类型的数组 2. 他是一个最终类 3. 他可以被序列化(暂时先了解一下,不用背) 4. 用于字符集的格式化 ![image](https://img2023.cnblogs.com/blog/2326800/202303/2326800-20230317204652674-913762386.png)
点击查看代码
package com.qf.deom06;

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

public class Test 
    public static void main(String[] args) throws UnsupportedEncodingException 
        String str1 ="WWW.QF.COM";
        String str2 ="www.qf.com";
        String str3 ="www.qf.com";
        //获取指定位置字符(charArt())
        char c =str1.charAt(0);
        System.out.println(c);
        //判断两个字符串的是否相同(内容和长度都一样),区分大小写(a.equals(b))
        System.out.println(str1.equals(str3));
        //判断两个字符串的是否相同(内容和长度都一样),不区分大小写(a.equalsIgnoreCase(b))
        System.out.println(str1.equalsIgnoreCase(str2));
        //字符串的格式化(String.format)
        System.out.println(String.format("%s,%s",str1,str2));
        //获取字符串的字符编码(a.getBytes())
        String str4 ="我是卡卡罗特";
        byte b[]=str4.getBytes();
        System.out.println(Arrays.toString(b));
        byte[] data =str4.getBytes("UTF-8");
        System.out.println(Arrays.toString(data));
        String str5 =new String(data,"iso-8859-1");
        System.out.println(str5);
        data =str5.getBytes("iso-8859-1");
        System.out.println(Arrays.toString(data));
        str5 =new String(data,"UTF-8");
        System.out.println(str5);

        //从左往右判断某个字符是否存在,返回该字符第一次出现的位置,如果没找到返回-1(str.indexOf())
        System.out.println(str1.indexOf("."));
        //从左往右判断某个字符是否存在,返回该字符第一次出现的位置,如果没找到返回-1(str.lastIndexOf())
        System.out.println(str1.lastIndexOf("."));
        //判断字符串是否为空,判断字符串长度是否为0(isEmpty)
        System.out.println(str1.isEmpty());
        //字符串长度(str.length())
        System.out.println(str4.length());
        //替换(str.replaceAll())
        String filePath = "d://file%20path//file%20path1";
        filePath = filePath.replaceAll("%20"," ");
        System.out.println(filePath);
        //特殊字符要转义
        String str6 =str1.replace("\\\\.","_");
        System.out.println(str6);
        //分割字符串,变成一个数组(split)
        String strArr[] =str1.split("\\\\.");
        System.out.println(Arrays.toString(strArr));
        //截取某一段(str.substring())
        //1.从指定游标处截取到末尾
        System.out.println(str5.substring(2));
        //2.从指定游标1处开始,截取到指定游标2之前一位
        System.out.println(str5.substring(2,4));

        //大小写转换
        //转大写(str.toUpperCase())
        String fname = "studentName";
        String firstName =String.valueOf(fname.charAt(0)).toUpperCase();
        System.out.println(firstName+fname.substring(1));
        //大写转小写
        System.out.println(str1.toLowerCase());
        //去除两边空格
        String str7 = "  a b c  ";
        System.out.println(str7.trim());
    


以上是关于字符串的主要内容,如果未能解决你的问题,请参考以下文章

第15章:字符串

什么是字符串常量和字符串变量啊???

neo4j字符串操作大全

java中怎么判断一个字符串数组中包含某个字符或字符串

PHP字符串函数

如何获取一个字符串在某个字符串的位置