string类型意思是
string属于Java中的字符串类型,也是一个引用类型,并不属于基本的数据类型。
Java中基本的数据类型只有八个,分别是数值型:byte、short、int、long;浮点型:float、double;字符型:char;布尔型:boolean。
C语言字符串类型
1.1 C语言没有原生字符串类型
1)很多高级语言像java、C#等就有字符串类型,有个String来表示字符串,用法和int这些很像,可以String s1 = "linux";来定义字符串类型的变量。
2)C语言没有String类型,C语言中的字符串是通过字符指针来间接实现的。
1.2 C语言使用指针来管理字符串
C语言中定义字符串方法:char *p = "linux";此时p就叫做字符串,但是实际上p只是一个字符指针(本质上就是一个指针变量,只是p指向了一个字符串的起始地址而已)。
1.3 C语言中字符串的本质:指针指向头、固定尾部 的地址相连的一段内存
1)字符串就是一串字符。字符反映在现实中就是文字、符号、数字等人用来表达的字符,反映在编程中字符就是字符类型的变量。C语言中使用ASCII编码对字符进行编程,编码后可以用char型变量来表示一个字符。字符串就是多个字符打包在一起共同组成的。
字符串就是一串字符。字符反映在现实中就是文字、符号、数字等人用来表达的字符,反映在编程中...
字符串在内存中其实就是多个字节连续分布构成的(类似于数组,字符串和字符数组非常像)
C语言中字符串有3个核心要点:第一是用一个指针指向字符串头;第二是固定尾部(字符串总是以...
'\0'是一个ASCII字符,其实就是编码为0的那个字符(真正的0,和数字0是不同的...
string类型在数据库中用什么表示
在java中,对于String 类型的字段,我们在设计数据库的时候,会有两个选择,一个char,一个varchar,char是定长的,varchar是可变的。
因为char是定长的,存取的速度比varchar快,方便查找。但是也有一个缺点,就是空间是固定的,如存取三个字符的,char还是用到13个字符的空间,char就相当于用空间换时间。
string是什么类型的
关于“==”
在Java语言中,当用“==”匹配时,就是比较两个内存单元的内容是否一样。
如果是基本类型byte、boolean、short、char、int、float、double,就是直接比较的他们的值。
如果是引用类型,比较的就是引用的值,“引用的值”可以被认为是对象逻辑地址。如果引用类型用“==”就是比较的两个对象的地址是否相同。
那么为什么例子中a与b指向了同一个内存单元?
这就是JVM的“编译时优化”,当编译器在编译代码:String a = "a" + "b" + "2"; 时,会将其编译为,String a = "ab2"; 。因此 a == b 为true。
关于equals()
说到 “==” 不得不说一下equals()。
equals()是在Object类中被定义的,它的定义中就是使用 == 来匹配,也就是说如果不重写equals() 比较的也是引用地址。
equals()的存在就是为了希望子类去重写,用于比较值,不去比较引用地址。
String 类中的就是重写了equals(), 如下:
所以我们在比较String时都是用了equals()方法。
总结
“==” 基本类型比较值,引用类型比较引用地址。
String “+” 操作 JVM编译时会做优化。
equals()方法,不重写比较的也是引用地址。