Java中将String转换为char数组的三种方式

 更新时间:2024年12月25日 09:39:10   作者:Smile sea breeze  
这篇文章主要介绍了三种将字符串转换为字符数组的方法,分别是toCharArray()、charAt()和循环、getChars(),每种方法都有其适用场景和优缺点,需要的朋友可以参考下

方法1:使用toCharArray()

toCharArray()方法是最直接的方法,可以将字符串转换为字符数组。

public class StringToCharArrayExample {
    public static void main(String[] args) {
        String str = "Hello";
        char[] charArray = str.toCharArray(); // 将String转换为char数组
        
        // 输出char数组
        for (char c : charArray) {
            System.out.print(c + " ");
        }
    }
}

输出:

H e l l o 

方法2:使用charAt()和循环

你可以使用charAt()方法在循环中逐个获取String中的字符,然后手动填充字符数组。

public class StringToCharArrayExample {
    public static void main(String[] args) {
        String str = "Hello";
        char[] charArray = new char[str.length()]; // 创建一个与String长度相同的char数组
        
        for (int i = 0; i < str.length(); i++) {
            charArray[i] = str.charAt(i); // 使用charAt获取每个字符并填充数组
        }
        
        // 输出char数组
        for (char c : charArray) {
            System.out.print(c + " ");
        }
    }
}

输出:

H e l l o 

方法3:使用getChars()方法

getChars()方法可以将指定范围的字符从String复制到字符数组中。

public class StringToCharArrayExample {
    public static void main(String[] args) {
        String str = "Hello";
        char[] charArray = new char[str.length()]; // 创建一个与String长度相同的char数组
        
        str.getChars(0, str.length(), charArray, 0); // 将字符串的字符复制到char数组中
        
        // 输出char数组
        for (char c : charArray) {
            System.out.print(c + " ");
        }
    }
}

输出:

H e l l o 

总结

  • toCharArray(): 最直接的方法,将整个字符串转换为字符数组。
  • charAt() + 循环: 手动获取每个字符并放入数组。
  • getChars(): 复制指定范围的字符到字符数组中。

附: char数组转string

将char转换为String大致有6种方法。总结如下:

1. String s = String.valueOf('c'); //效率最高的方法

2. String s = String.valueOf(new char[]{'c'}); //将一个char数组转换成String

3. String s = Character.toString('c');

// Character.toString(char)方法实际上直接返回String.valueOf(char)

4. String s = new Character('c').toString();

5. String s = "" + 'c';

// 虽然这个方法很简单,但这是效率最低的方法
// Java中的String Object的值实际上是不可变的,是一个final的变量。
// 所以我们每次对String做出任何改变,都是初始化了一个全新的String Object并将原来的变量指向了这个新String。
// 而Java对使用+运算符处理String相加进行了方法重载。
// 字符串直接相加连接实际上调用了如下方法:
// new StringBuilder().append("").append('c').toString();

6. String s = new String(new char[]{'c'});

到此这篇关于Java中将String转换为char数组的三种方式的文章就介绍到这了,更多相关Java将String转换char数组内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • redis分布式锁的原理及代码实例

    redis分布式锁的原理及代码实例

    这篇文章主要介绍了redis分布式锁的原理及代码实例,Redis作为一款高性能内存数据库,其提供了一种非常实用的分布式锁解决方案,可以帮助开发人员轻松地实现分布式锁功能,对于分布式系统的开发和维护,具有非常大的实用价值,需要的朋友可以参考下
    2024-01-01
  • 使用java实现备份和恢复SQLServer表数据

    使用java实现备份和恢复SQLServer表数据

    这篇文章主要为大家详细介绍了如何使用java实现备份和恢复SQLServer表数据,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • java 中序列化NotSerializableException问题解决办法

    java 中序列化NotSerializableException问题解决办法

    这篇文章主要介绍了java 中序列化NotSerializableException问题解决办法的相关资料,这里对序列化问题进行描述说明,并提供解决办法,希望能帮助到大家,需要的朋友可以参考下
    2017-08-08
  • jdbc实现宠物商店管理系统

    jdbc实现宠物商店管理系统

    这篇文章主要为大家详细介绍了jdbc实现宠物商店管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • springboot + swagger 实例代码

    springboot + swagger 实例代码

    本篇文章主要介绍了springboot + swagger 实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • SpringBoot中的Future接口详解

    SpringBoot中的Future接口详解

    这篇文章主要介绍了SpringBoot中的Future接口详解,在异步编程中,我们通常需要处理一些耗时的操作,一种常见的做法是使用 Future 接口来代表一个异步操作的结果,需要的朋友可以参考下
    2023-07-07
  • Java用BigDecimal类解决Double类型精度丢失的问题

    Java用BigDecimal类解决Double类型精度丢失的问题

    这篇文章主要介绍了Java用BigDecimal类解决Double类型精度丢失的问题,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-12-12
  • java中文及特殊字符的校验方法

    java中文及特殊字符的校验方法

    这篇文章主要为大家详细介绍了java中文及特殊字符的校验方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Struts2修改上传文件大小限制方法解析

    Struts2修改上传文件大小限制方法解析

    这篇文章主要介绍了Struts2修改上传文件大小限制的相关内容,包括决定Struts2上传文件大小的因素,具有一定参考价值,需要的朋友可以了解下。
    2017-09-09
  • java实习--每天打卡十道面试题!

    java实习--每天打卡十道面试题!

    临近秋招,备战暑期实习,祝大家每天进步亿点点!本篇文章准备了十道java的常用面试题,希望能够给大家提供帮助,最后祝大家面试成功,进入自己心仪的大厂
    2021-06-06

最新评论