美文网首页
详解String类型

详解String类型

作者: coderymy | 来源:发表于2019-06-27 11:23 被阅读0次
  1. String不是基础数据类型
  2. 这种变量的创建并不是一个盒子的概念,而是一个名字的概念,也就是说我创建一个String a="aaa",其实对于底层是这样的

创建一个a,指向一块物理块,物理块中指向三个a的char


String

所以说,其实对于String来说,它是一个引用数据类型,但是它有不像其他的引用数据类型那样需要new,所以说String是一个很奇怪的数据类型

  1. 对于正常的基础数据类型来说,有一个常量池的概念,所以对于String来说,其实一个String类型的变量它是一个名字,它指向一个盒子,这个盒子中装着很多char类型的引用
  2. 综上所述,就会出现这种情况

String a="hello"
String b="hel"+"lo"
String c="hel"+new String("lo")
String d1="h";
String d2="ello"
String d=d1+d2;
a==b:true
a==c:false,因为,a的引用时标准的引用,但是c的引用其实是指向了d1+d2的地址

  1. "=="和.equals(),前者其实比较的是引用,后者比较的是变量的内容

总结,只需要记住,String类型,它不是基础数据类型,不是一个盒子的概念,而是一个名字的概念
所以会出现a==b但是a.equals(b)为false的情况
String是一个引用的概念,是告诉jre,到哪里去给我拼出来需要的字符

相关文章

  • 详解String类型

    String不是基础数据类型 这种变量的创建并不是一个盒子的概念,而是一个名字的概念,也就是说我创建一个Strin...

  • 实习-ajax

    2018/07/13 参考文章:$.ajax()方法详解 1、url: 要求为String类型的参数,(默认为当前...

  • 全面解析Java中的String数据类型

    【导读】本文全面概述解析了Java中的String数据类型,并举例详解。 1. 首先String不属于8种基本数据...

  • Redis-第八章节-应用场景

    目录 概述 详解 1、概述 Redis支持五种数据类型:String(字符串)、Hash(哈希)、List(列表)...

  • C++之string类型详解

    from:http://citycowboy.blog.sohu.com/50058804.html 之所以抛弃c...

  • $.ajax()方法参数详解

    $.ajax()方法参数详解 1.url:要求为String类型的参数,(默认为当前页地址)发送请求的地址。 2....

  • Redis进阶 - 数据结构:对象机制详解,一文深入底层分析

    我们在前文已经阐述了Redis 5种基础数据类型详解,分别是字符串(string)、列表(list)、哈希(has...

  • JavaScript之数据类型

    二、数据类型 目录:字符串类型详解、数组类型详解、对象类型详解、分支和循环详解、Map和Set集合(ES6新特性)...

  • Format+

    1.C# 中Format 用法详解 String.Format(string,object)将指定的string的...

  • ajax

    jQuery中的ajax参数详解1.url:要求为String类型的参数,(默认为当前页地址)发送请求的地址。 2...

网友评论

      本文标题:详解String类型

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