• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

今天分享一下Java基础语法String类

开发技术 开发技术 3天前 5次浏览

 

一、定义方式

创建字符串的方式有很多种,常见的构造 String 的方式如以下:

方式一:直接赋值法

String str1 = “hello”;
1
方式二: new String()

String str2 = new String(“hello”);
1
方式三:创建一个字符数组ch,new String ( ch )

char chs[] = {‘h’,’e’,’l’,’l’,’l’,’o’};
String str3 = new String(chs);
1
2

二、内存

在此之前我们要先引入一个概念 字符串常量池

Sting constant pool 字符串常量池 的特性

1.在JDK.7 开始,字符串常量池 被挪到堆里了

2.池内的数据不存在重复

  下面我们通过一系列的练习来熟悉 字符串常量池以及 字符串类型数据在内存中的存放。

public static void main(String[] args) {
String str1 = “hello”;
String str2 = new String(“hello”);
System.out.println(str1 == str2);

String str3 = “hello”;
System.out.println(str1 == str3);
}

public static void main(String[] args) {
String str1 = “hello”;
String str2 = new String(“hello”);
System.out.println(str1 == str2);

String str3 = “hello”;
System.out.println(str1 == str3);
}

  我们来看这样的代码,str 代表的是引用地址,请判断 两次打印分别是什么?

我们来看结果

 

 

  这个结果说明 str1 和 str2存放的地址是不一样的, str1 和 str3 存放的地址是一样的。

  好的,为什么是这样的结果呢?我们来看一下这几个字符串类型变量的内存。


程序员灯塔
转载请注明原文链接:今天分享一下Java基础语法String类
喜欢 (0)