JavaSE核心知识点01基础语法01-05(字符串)

🤟致敬读者

  • 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉

📘博主相关



📃文章前言

  • 🔷文章均为学习工作中整理的笔记。
  • 🔶如有错误请指正,共同学习进步。

Java中的字符串(String)是表示文本数据的一种对象类型,属于java.lang.String类。字符串是不可变的(Immutable),即创建后内容无法修改,所有修改操作都会生成新对象。以下是Java字符串的详细使用指南:


JavaSE核心知识点01基础语法01-05(字符串)

一、创建字符串

  1. 直接赋值(推荐,利用字符串常量池):

    String s1 = "Hello World";  // 从常量池引用
    
  2. 使用new关键字(每次创建新对象):

    String s2 = new String("Hello World");  // 新对象,不复用常量池
    

二、基本操作

  1. 字符串连接

    String s = "Java";
    s = s + " Programming";      // "+" 操作符
    s = s.concat("!");           // concat()方法
    
  2. 获取长度

    int len = s.length();        // 返回字符串长度
    
  3. 大小写转换

    String upper = s.toUpperCase();  // 转大写
    String lower = s.toLowerCase();  // 转小写
    
  4. 截取子串

    String sub1 = s.substring(5);     // 从索引5到末尾
    String sub2 = s.substring(0, 4);  // 索引0到3(左闭右开)
    

三、比较字符串

  • 内容相等:使用equals()而非==

    boolean isEqual = s1.equals(s2);          // 区分大小写
    boolean isEqualIgnoreCase = s1.equalsIgnoreCase(s2);  // 不区分大小写
    
  • 字典顺序compareTo()

    int result = s1.compareTo(s2);  // 返回正数、0或负数
    

四、不可变性与高效操作

  • 问题:频繁拼接字符串(如循环中使用+)会生成大量中间对象,影响性能。
  • 解决方案:使用StringBuilder(非线程安全)或StringBuffer(线程安全):
    StringBuilder sb = new StringBuilder();
    sb.append("Hello").append(" World");
    String result = sb.toString();  // 最终转换为String
    

五、格式化字符串

String name = "Alice";
int age = 25;
String formatted = String.format("Name: %s, Age: %d", name, age);  // 格式化为字符串
System.out.printf("Info: %s\n", formatted);  // 直接输出格式化内容

六、其他常用方法

  1. 分割字符串

    String[] parts = "a,b,c".split(",");  // 按逗号分割为数组
    
  2. 去除首尾空格

    String trimmed = "  text  ".trim();  // 移除首尾空白字符
    
  3. 替换内容

    String replaced = "Hello".replace('l', 'w');  // 替换字符,结果为"Hewwo"
    
  4. 查找内容

    boolean hasJava = s.contains("Java");   // 是否包含子串
    int index = s.indexOf("Java");          // 首次出现的位置
    

七、注意事项

  1. 不可变性:每次修改字符串都会生成新对象,原对象不变。
  2. 比较陷阱:用==比较的是对象地址,非内容,必须使用equals()
  3. 性能优化:大量拼接时优先选StringBuilder
  4. 字符串池:直接赋值的字符串会被复用,减少内存开销。

通过掌握这些基础操作和注意事项,您已经能够高效处理Java字符串!


📜文末寄语

  • 🟠关注我,获取更多内容。
  • 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
  • 🟢《全栈知识库》技术交流和分享社区,集结全栈各领域开发者,期待你的加入。
  • 🔵​加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
  • 🟣点击下方名片获取更多内容🍭🍭🍭👇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值