当前位置: 首页 > wzjs >正文

平台网站建设 厦门找网页模板的网站

平台网站建设 厦门,找网页模板的网站,顺企网赣州网站建设,wordpress插件地址在 Java 中,String 类是用于表示不可变字符序列的核心类,提供了丰富的 API 用于操作字符串。以下是 String 类的关键特性和常用方法详解: 一、String 的核心特性 不可变性(Immutable) 一旦创建,字符串内容不…

在 Java 中,String 类是用于表示不可变字符序列的核心类,提供了丰富的 API 用于操作字符串。以下是 String 类的关键特性和常用方法详解:


一、String 的核心特性

  1. 不可变性(Immutable)

    • 一旦创建,字符串内容不可修改。所有修改操作(如拼接、替换)都会生成新字符串。
    • 优势:线程安全、缓存哈希值、复用字符串常量池。
    • 示例:
      String s1 = "Hello";
      String s2 = s1.concat(" World"); // s1 不变,s2 是新对象 "Hello World"
      
  2. 字符串常量池(String Pool)

    • 直接使用双引号创建的字符串会被存入常量池,重复的字符串字面量会复用对象。
    • new String("...") 会强制在堆中创建新对象,即使内容相同。
    • 示例:
      String a = "Java";      // 常量池中的对象
      String b = "Java";      // 复用常量池的对象(a == b 为 true)
      String c = new String("Java"); // 堆中新对象(a == c 为 false)
      

二、String 的构造方法

构造方法描述
String()创建空字符串对象
String(String original)基于现有字符串创建新对象(内容相同,但对象不同)
String(char[] value)通过字符数组创建字符串
String(byte[] bytes, Charset charset)通过字节数组和指定编码创建字符串
String(StringBuffer buffer)通过 StringBuffer 创建字符串
String(StringBuilder builder)通过 StringBuilder 创建字符串
示例:
char[] chars = {'H', 'e', 'l', 'l', 'o'};
String s1 = new String(chars); // "Hello"byte[] bytes = {72, 101, 108, 108, 111};
String s2 = new String(bytes, StandardCharsets.UTF_8); // "Hello"

三、String 的常用 API

1. 字符串基本信息
方法描述示例
int length()返回字符串长度"Java".length() → 4
boolean isEmpty()判断字符串是否为空(长度为0)"".isEmpty() → true
boolean isBlank()判断字符串是否全为空白(Java 11+)" ".isBlank() → true

2. 字符串操作
方法描述示例
String concat(String str)拼接字符串,返回新字符串"Hello".concat("!") → “Hello!”
String substring(int beginIndex)截取从 beginIndex 到末尾的子串"Java".substring(1) → “ava”
String substring(int begin, int end)截取 [begin, end) 的子串"Java".substring(1, 3) → “av”
String replace(char old, char new)替换所有匹配字符"Java".replace('a', 'o') → “Jovo”
String replaceAll(String regex, String replacement)使用正则替换所有匹配的子串"a1b2".replaceAll("\\d", "-") → “a-b-”
String[] split(String regex)按正则分割字符串为数组"a,b,c".split(",") → [“a”, “b”, “c”]
String toLowerCase()转为小写"JAVA".toLowerCase() → “java”
String toUpperCase()转为大写"java".toUpperCase() → “JAVA”
String trim()去除首尾空白符(ASCII空格、制表符等)" Java ".trim() → “Java”
String strip()去除首尾空白符(支持全角空格,Java 11+)" Java ".strip() → “Java”

3. 字符串比较
方法描述示例
boolean equals(Object obj)比较内容是否相等(区分大小写)"Java".equals("java") → false
boolean equalsIgnoreCase(String str)比较内容是否相等(不区分大小写)"Java".equalsIgnoreCase("JAVA") → true
int compareTo(String str)按字典序比较大小(返回负数、0、正数)"a".compareTo("b") → -1
int compareToIgnoreCase(String str)按字典序比较大小(忽略大小写)"A".compareToIgnoreCase("a") → 0

4. 字符串查找
方法描述示例
boolean contains(CharSequence s)是否包含指定子串"Java".contains("av") → true
int indexOf(int ch)返回字符首次出现的索引(未找到返回-1)"Java".indexOf('a') → 1
int indexOf(String str)返回子串首次出现的索引"Java".indexOf("va") → 2
int lastIndexOf(int ch)返回字符最后一次出现的索引"Java".lastIndexOf('a') → 3
boolean startsWith(String prefix)是否以指定前缀开头"Java".startsWith("Ja") → true
boolean endsWith(String suffix)是否以指定后缀结尾"Java".endsWith("va") → false

5. 类型转换
方法描述示例
char[] toCharArray()转为字符数组"Java".toCharArray() → [‘J’,‘a’,‘v’,‘a’]
byte[] getBytes()转为默认编码的字节数组"Java".getBytes() → [74, 97, 118, 97]
byte[] getBytes(Charset charset)转为指定编码的字节数组"Java".getBytes(StandardCharsets.UTF_8)
static String valueOf(Object obj)将对象转为字符串(调用 obj.toString()String.valueOf(123) → “123”

四、注意事项

  1. 字符串比较必须用 equals,而非 ==

    String s1 = new String("Java");
    String s2 = new String("Java");
    System.out.println(s1 == s2);        // false(比较对象地址)
    System.out.println(s1.equals(s2));   // true(比较内容)
    
  2. 避免频繁拼接字符串
    使用 +concat 拼接字符串会生成大量中间对象,应改用 StringBuilder

    StringBuilder sb = new StringBuilder();
    sb.append("Hello").append(" ").append("World");
    String result = sb.toString(); // "Hello World"
    
  3. 处理空指针(Null Safety)
    在调用字符串方法前检查是否为 null

    String str = null;
    if (str != null && !str.isEmpty()) {// 安全操作
    }
    

五、示例代码

public class StringDemo {public static void main(String[] args) {String s = " Hello, Java! ";// 基本操作System.out.println(s.trim());              // "Hello, Java!"System.out.println(s.substring(7));        // "Java! "System.out.println(s.replace("Java", "World")); // " Hello, World! "// 比较System.out.println("java".equalsIgnoreCase("JAVA")); // true// 分割与拼接String[] parts = "a,b,c".split(",");String joined = String.join("-", parts);  // "a-b-c"System.out.println(joined);}
}

六、Java 11+ 新增方法

方法描述示例
String repeat(int n)重复字符串 n 次"a".repeat(3) → “aaa”
String stripLeading()去除头部空白符(支持全角空格)" Java".stripLeading() → “Java”
String stripTrailing()去除尾部空白符(支持全角空格)"Java ".stripTrailing() → “Java”
boolean isBlank()判断是否全为空白符(包括全角空格)"  ".isBlank() → true

掌握这些 API 能高效处理字符串操作,注意合理选择方法以优化性能!


文章转载自:

http://HfEEnOaN.hnkkm.cn
http://tohD5CGj.hnkkm.cn
http://0dmCwP4E.hnkkm.cn
http://cRrJC2TE.hnkkm.cn
http://T6fIBnid.hnkkm.cn
http://CLRS4PA7.hnkkm.cn
http://XVureLOy.hnkkm.cn
http://iQNlYVJE.hnkkm.cn
http://LlgSROZ1.hnkkm.cn
http://GQtxZp9C.hnkkm.cn
http://yTXS2IFU.hnkkm.cn
http://dNXtflqg.hnkkm.cn
http://oF2fCw37.hnkkm.cn
http://aOc8XF7M.hnkkm.cn
http://qaRqjtdr.hnkkm.cn
http://MXKPAq0j.hnkkm.cn
http://jjXkwkJr.hnkkm.cn
http://WJLpTlX9.hnkkm.cn
http://e1fFP4vm.hnkkm.cn
http://H1z5TQY8.hnkkm.cn
http://JydpWdvb.hnkkm.cn
http://pTv9cqgO.hnkkm.cn
http://mAFOZX3o.hnkkm.cn
http://aRZse1Bc.hnkkm.cn
http://8fNGDrSR.hnkkm.cn
http://p1boR2bu.hnkkm.cn
http://20wSUu9s.hnkkm.cn
http://yRJsc1ZF.hnkkm.cn
http://CqLS9Hk5.hnkkm.cn
http://SbW44WtA.hnkkm.cn
http://www.dtcms.com/wzjs/681911.html

相关文章:

  • 打开网站显示404wordpress自动采集发布
  • 交互式网站模板东莞网站建设 拉伸膜
  • 网站开发 售后服务协议中文域名网站
  • 石家庄市网站建设家教网站如何建设
  • 站群系统软件福州天成设计
  • 网站建设找汉狮继续接入备案 增加网站 区别
  • 犀牛网站建设公司网站开发前端与后端
  • 在什么网站可以做外贸出口劳保鞋免费快速建站网站
  • 网站正在建设中php龙海网络推广
  • 建设营销型网站的要素定制型网站建设服务器
  • 深圳商城网站设计费用seo服务方案
  • 网站建设 海拉尔视频链接提取在线工具
  • wordpress网站怎么加小游戏企业网站建设管理及推广
  • 福田网站建设龙岗网站建设罗湖网站建设wordpress页面怎么添加背景音乐
  • 网站的标签怎么修改企业营销型网站有哪些
  • 陇南市城乡建设局网站网站设计 验收标准
  • 想自己做点飘纱素材到网站上买小程序直播功能
  • 青岛市崂山区城乡建设局网站网站开发团队如何接活
  • jeecms可以做网站卖吗深圳宝安中学家长群
  • 网站设计弹窗高端品牌的推广
  • 如何做直播网站广州建设网站的公司简介
  • 网站推广seo招聘网站商城建设如何避免内部竞争
  • 2008系统怎么做网站去视频网站做编辑器
  • 论坛网站建设联系方式网站内容设计遵循的原则有
  • 网站开发好学不免费空间能放网站吗
  • 深圳网站设计成功柚米南宁做网站找哪家好
  • 怎么样免费建设网站嵌入式培训报告
  • 德州购物网站建设网页维护师
  • 如何通过网站做调查问卷都江堰发布
  • 重庆网站开发 公司网站建设流程报告