Java中 String与基本数据类型,包装类,char[],byte[]之间的转换

简介: Java中 String与基本数据类型,包装类,char[],byte[]之间的转换

String与基本数据类型,包装类之间的转换。
String转换为基本数据类型,包装类:调用包装类的parseXxx(str)方法

String str1="456";
        //string转换为int类型
        int str2 = Integer.parseInt(str1);
        System.out.println(str2);

2.基本数据类型,包装类转换为String:调用String重载的valueOf(xxx)方法。

int str3=123;
        String str4 = String.valueOf(str3);
        System.out.println(str4);

3.String与char[]数组之间的转换

3.1.String转换为char[] 调用toCharArray()

String s1="helloworld";
        char[] chars = s1.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            System.out.println(chars[i]);
        }

3.2.char[]数组转换为String 调用:String的构造器

char[] chars1 = {'h', 'e', 'l', 'l', 'o'};
        String s2=new String(chars1);
        System.out.println(s2);

4.String与byte[] (字节数组)之间的相互转换

4.1.编码:

String 转换为 byte[] :调用String的getBytes()

String s1="ab1024程序员";
        byte[] bytes = s1.getBytes();//使用默认的字符集进行转换,我的是UTF-8
        System.out.println(Arrays.toString(bytes));
        输出结果:[97, 98, 49, 48, 50, 52, -25, -88, -117, -27, -70, -113, -27, -111, -104]
    try {
            byte[] gbks = s1.getBytes("gbk");//使用gbk字符集进行编码
            System.out.println(Arrays.toString(gbks));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        输出结果:[97, 98, 49, 48, 50, 52, -77, -52, -48, -14, -44, -79]
        UTF-8 一个汉字代表三个字节 GBK中代表两个字节

4.2.解码:

byte[] 转换为 String :调用String的构造器

try {
            byte[] gbks = s1.getBytes("gbk");//使用gbk字符集进行编码
            System.out.println(Arrays.toString(gbks));
            String s2 = new String(bytes);
            System.out.println(s2); 
            String s3 = new String(gbks);//因为这个没有使用默认的字符集,进行解码,所以导致乱码
            System.out.println(s3);
      String gbk = new String(gbks, "gbk");//没有出现乱码,因为编码集和解码集一致!
            System.out.println(gbk);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
       输出结果:ab1024����Ա  
         ab1024程序员
         ab1024程序员 


目录
相关文章
|
22天前
|
存储 缓存 安全
Java中的数据类型
Java语言提供了八种基本类型,分为4类8种:六个数值型(四个整数型byte、short、int、long,两个浮点型float、double)、一个字符型char和一个布尔型boolean。每种基本类型有固定的位数、取值范围及默认值。此外,还存在`void`类型,但无法直接操作。基本类型支持隐式和显式类型转换,并有对应的包装类如`Integer`、`Double`等,用于在需要对象的场景中使用。包装类支持自动装箱与拆箱机制,简化了基本类型与引用类型的转换,但需要注意性能和空指针异常等问题。
Java中的数据类型
|
1月前
|
存储 JavaScript Java
Java 中的 String Pool 简介
本文介绍了 Java 中 String 对象及其存储机制 String Pool 的基本概念,包括字符串引用、构造方法中的内存分配、字符串文字与对象的区别、手工引用、垃圾清理、性能优化,以及 Java 9 中的压缩字符串特性。文章详细解析了 String 对象的初始化、内存使用及优化方法,帮助开发者更好地理解和使用 Java 中的字符串。
Java 中的 String Pool 简介
|
1月前
|
缓存 安全 Java
java 为什么 String 在 java 中是不可变的?
本文探讨了Java中String为何设计为不可变类型,从字符串池的高效利用、哈希码缓存、支持其他对象的安全使用、增强安全性以及线程安全等方面阐述了不可变性的优势。文中还通过具体代码示例解释了这些优点的实际应用。
java 为什么 String 在 java 中是不可变的?
|
3月前
|
Java 测试技术 开发者
Java零基础-indexOf(String str)详解!
【10月更文挑战第14天】Java零基础教学篇,手把手实践教学!
132 65
|
2月前
|
JSON Java 关系型数据库
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应数据库中json数据类型,更新时报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
163 4
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
|
1月前
|
存储 Java
Java 11 的String是如何优化存储的?
本文介绍了Java中字符串存储优化的原理和实现。通过判断字符串是否全为拉丁字符,使用`byte`代替`char`存储,以节省空间。具体实现涉及`compress`和`toBytes`方法,前者用于尝试压缩字符串,后者则按常规方式存储。代码示例展示了如何根据配置决定使用哪种存储方式。
|
2月前
|
Java
Java基础之数据类型
Java基础之数据类型
23 6
|
2月前
|
Java
在Java中如何将基本数据类型转换为String
在Java中,可使用多种方法将基本数据类型(如int、char等)转换为String:1. 使用String.valueOf()方法;2. 利用+运算符与空字符串连接;3. 对于数字类型,也可使用Integer.toString()等特定类型的方法。这些方法简单高效,适用于不同场景。
103 7
|
2月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
81 4
|
2月前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
47 1