码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【JavaSE】String类


    目录

    🐱‍🐉🐱‍🐉

    一、字符串构造

    1、String str = "字符串";

    2、String str = new String("字符串");

    3、String str = new String(new char[]{字符});

    二、字符串比较的方法

    1、==比较

    2、equals

    3、equalsIgnoreCase 

    4、compareTo

    5、compareToIgnoreCase 

    三、字符串查找的方法

    1、字符串里访问第n个字符

     2、字符a第一次出现的位置

    3、从n开始字符a第一次出现的位置

    4、字符串s第一次出现的位置

    5、从n开始字符串s第一次出现的位置 

    6、从后往前开时字符a第一次出现的位置

    7、第n个位置开始从后往前字符a第一次出现的位置 

    8、从后往前字符串s第一次出现的位置

    9、第n个位置开始从后往前字符串s第一次出现的位置

     四、字符串转换方法

    1、数值转字符串

    2、字符串转数字

    3、字符串大小写转换

      1、toUpperCase

      2、toLoewerCase

    4、字符串转字符数组

    5、格式化输出

    五、字符串替换

    1、replace

    2、replaceAll

    3、replaceFirst

    六、字符串拆分

    1、全部拆分

    2、分组拆分

    3、按多个字符拆分

    七、字符串截取

    1、从n开始截取

    2、从n截取到m 


    🐱‍🐉🐱‍🐉

    一、字符串构造

    String类提供了多个构造方法,主要有以下三种

    1、String str = "字符串";

    第一种双引号引起来的字符,先从字符串常量池里面找。如果找到就返回地址,如果没有找到就从字符串常量池里面创建,然后返回新创建对象的地址

    2、String str = new String("字符串");

    第二种字符串构造方法,先从堆上创建一个字符串对象,然后双引号引起来的字符串从字符串常量池里面找,如果找到就返回字符串的地址给该字符串对象的value值,如果没有,就在字符串常量池里创建,然后返回字符串地址

    3、String str = new String(new char[]{字符});

    第三种字符串构造方法,先从堆上创建一个字符串对象,然后创建一个字符数组,然后将这个字符数组拷贝一份后,将拷贝后的字符数组的地址给字符串对象,然后在看字符串常量池里面有么有,有就返回地址,没有就创建然后返回地址

    二、字符串比较的方法

    1、==比较

    这种比较对于引用类型比较的是两个对象的地址

    2、equals

    语法:字符串1.equals(字符串2);

    如果两个字符串相同返回true反之返回false

    3、equalsIgnoreCase 

    与equals使用方法相同,不过区别是equals比较时不会忽略大小写,这个方法则会忽略大小写

    4、compareTo

    语法:字符串1.compareTo(字符串2);

    类似于C语言里面的strcmp,返回值是一个整数

    5、compareToIgnoreCase 

    与前一个不同的是,compareTo比较时不会忽略大小写,而这个方法会忽略大小写

     

    三、字符串查找的方法

    1、字符串里访问第n个字符

    语法: char ch = str.charAt(n);

     2、字符a第一次出现的位置

    语法:int index = str.indexOf(a);

    3、从n开始字符a第一次出现的位置

    语法:int  index = str.index(a,n);

    4、字符串s第一次出现的位置

    语法:int index  = str.indexOf(s); 

    5、从n开始字符串s第一次出现的位置 

    语法:int index = str.indexOf(s,n);

    6、从后往前开时字符a第一次出现的位置

    语法:int index =  str.lastIndexOf(a);

    7、第n个位置开始从后往前字符a第一次出现的位置 

    语法:int index = str.lastIndexOf(a,n);

    8、从后往前字符串s第一次出现的位置

    语法:int index = str.lastIndexOf(s);

    9、第n个位置开始从后往前字符串s第一次出现的位置

    语法: int index = str.lastIndexOf(s,n);

     

     四、字符串转换方法

    1、数值转字符串

    语法:String str = String.valueOf(数值);

    除了整形浮点型数值外,boolean与引用类型也可以转为为字符串

    2、字符串转数字

    语法:int data = Integer.parseInt(str);

              double data = Double.parseDoub(str);

    ……

    如果要将字符串按不同的进制转为数值,只需要在pareInt方法的第二个参数传入对应的进制数即可

    3、字符串大小写转换

      1、toUpperCase

     转大写:String str  = s.toUpperCase();

      2、toLoewerCase

    转小写:String str = s.toLowerCase();

    4、字符串转字符数组

    语法:char[] ch = str.toCharArray();

    5、格式化输出

    语法:String str = String.format("%d-%d-%d",2002,20,20);

     

    在后续输出字符串str时就会以格式进行输出

     

    五、字符串替换

    1、replace

    语法:replace(dest,src)

    dest:将要被替换的

    src:被代替成的

    2、replaceAll

    语法:replaceAll(dest,src)

    与上面的方法相同都是将字符串里的dest全部替换 

    3、replaceFirst

    语法:replaceFirst(dest,src)

    只替换字符串里第一次出现的dest 

    以上字符串替换函数使用时,自身没有改变,而是new了一个新的字符串

     

    六、字符串拆分

    1、全部拆分

    String[] str = s.split(字符):

    2、分组拆分

    String[] str = s.split(字符,要拆几个组);

    3、按多个字符拆分

     String[] str = s.split(字符1|字符2);

     

    如果要按字符'*','+','|‘来拆分,要加上转义字符”\\"

    七、字符串截取

    1、从n开始截取

    str.subString(n);

    2、从n截取到m 

    s.subString(n,m)

    n到m是左闭右开的区间,并且要注意不能越界

     

     

     

  • 相关阅读:
    epoll 的实现
    家用摄像头怎么选:实用性,功能性以及性价比是关键
    C++进阶篇-----多态
    30天Python入门(第十八天:深入了解Python中的正则表达式)
    TCP/IP协议簇包含的协议
    nio 文件传输
    [学习记录] 设计模式 1. 设计模式介绍
    2024中国网络安全产品用户调查报告(发布版)
    【React】 第十三部分 Hooks
    重温OKHTTP源码
  • 原文地址:https://blog.csdn.net/qq_61903414/article/details/126557237
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号