美文网首页
2020-03-23-Java的特殊类型String

2020-03-23-Java的特殊类型String

作者: 耿望 | 来源:发表于2020-03-24 15:52 被阅读0次

格式化和正则表达式

public static void main(String[] args) {
    String content = String.format("format, %d, %b, %s, %#x, %.2f", 1, true, "zgw", 17, 0.5f);//1
    System.out.println(content);
    List<String> list = Arrays.asList(content.split(","));//2
    list.forEach(k -> System.out.println(k));
}

java提供了两种方式,可以对字符串进行处理,分别是注释1处的format和注释2处的split方法。

常量池

为了避免对象的频繁创建和回收,JVM虚拟机有常量池的概念,比如下面的代码,在常量池中只会存在一个字符串实例"abc"。

        String aStr = "abc";
        String bStr = "abc";
        String cStr = new String("abc");

更经典的问题是,下面这行代码,实际上创建了两个对象,一个在常量池中,一个在java堆内存区域。

String a = new String("abc");

同时,String提供了intern方法,来向运行时常量池添加变量,如果变量已经存在,则返回该变量的引用。比如下面这段代码,在java8上面输出的结果是false,true。

String a = new String("abc");
String b = "abc";
System.out.println(a == b);
System.out.println(a.intern() == b);

参考:

https://tech.meituan.com/2014/03/06/in-depth-understanding-string-intern.html
https://blog.csdn.net/lonely_fireworks/article/details/7962171

相关文章

  • 2020-03-23-Java的特殊类型String

    格式化和正则表达式 java提供了两种方式,可以对字符串进行处理,分别是注释1处的format和注释2处的spli...

  • C#基础(6) String类型

    Console.WriteLine ("Hello World!"); string string 特殊的引用类型...

  • 0.3 PHP 数据类型

    标量类型:int、float、string、bool 复合类型:array、object 特殊类型:null、re...

  • js数据相关简单的问题与理解

    Q:js数据类型?A:原始类型:number、string、boolean、特殊类型(null&undefined...

  • Jackson2.x中内存泄露的风险点—封装的intern逻辑

    1. String#intern方法 在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型...

  • JavaScript 相关知识

    1.js的数据类型 基本类型:number string boolean 引用类型:对象 数组 特殊类型:null...

  • String类

    String对象创建的四种方式 在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使...

  • 基本包装类型

    基本包装类型 3个特殊的引用类型:Boolean、Number、String 引用类型与基本包装类型的主要区别就是...

  • JS系列 -- 基本包装类型

    概述 ECMAScript 提供了 3 个特殊的引用类型:Boolean() Number() String(...

  • 7

    ECMAScript 提供了 3 个特殊的引用类型:Boolean、Number和 String。这些类型与其他引...

网友评论

      本文标题:2020-03-23-Java的特殊类型String

      本文链接:https://www.haomeiwen.com/subject/xmsgyhtx.html