java字符串中的“u”是什么意思

Python09

java字符串中的“u”是什么意思,第1张

\u是转义字符,表示后面跟一个十六进制数,通过这个十六进制数来指定一个字符,face这样看着好容易误导,其实就是一个十六进制数而已转换成十进制就是64206。

0xface是在表示整形的时候这样使用,比如int a = 0xface,而这儿,是表示一个字符,因为在java以及其他很多语言中,都是用反斜杠来表示转义字符。用\是表示后面是转移字符,用u是unicode的缩写,表示后面是一个unicode字符。其实只是写法问题。

扩展资料

字符串之所以特殊,是因为java会在内容中为String类型的对像开辟一个空间,叫串池,字符串对象的创建之后会被放入到串池中。串池有一个特点,就是对于相同对象,池中只存储一份。

String a="abc"和String b="abc" 对于这样的类型的声明方式(不是new出来的)串池把他们看做一个对象,所以池中只存储一分,只是有a 和b 两个引用罢了!对于String只要用new关键字new出来的string,都是单独的一个对象。

举个例子:

String str0 = "abc"

String str1 = new String("abc")

当执行String str0 =”abc”时,JVM会在栈中创建三个char型的值 ’a’ , ’b’ 和 ’c’ ,然后在堆中创建一个String对象,它的值(value)是刚才在栈中创建的三个char型值组成的数组{ ’a’ , ’b’ , ’c’ },最后这个新创建的String对象的值”abc”会被添加到字符串池中。如果我们接着执行String str1=new String(”abc”)代码,由于”abc”已经被创建并保存于字符串池中,因此JVM只会在堆中新创建一个String对象,但是它的值(value)是共享前一行代码执行时在字符串池中的 ” abc ”

希望对你有帮助

字符串首先是一个对象。

举个例子:

String

str0

=

"abc"

String

str1

=

new

String("abc")

当执行String

str0

=”abc”时,JVM会在栈中创建三个char型的值

’a’

,

’b’

’c’

,然后在堆中创建一个String对象,它的值(value)是刚才在栈中创建的三个char型值组成的数组{

’a’

,

’b’

,

’c’

},最后这个新创建的String对象的值”abc”会被添加到字符串池中。如果我们接着执行String

str1=new

String(”abc”)代码,由于”abc”已经被创建并保存于字符串池中,因此JVM只会在堆中新创建一个String对象,但是它的值(value)是共享前一行代码执行时在字符串池中的

abc