首页 > 解决方案 > 在java中创建字符串的最佳方法是什么

问题描述

在java中创建字符串有两种方法,如下所示:

  1. 字符串 s = new String("Hellow");
  2. 字符串 s1 = "你好";

在情况 1 中,将创建两个对象(一个在字符串常量池中,另一个在堆内存中),而在情况 2 中,仅在字符串常量池中创建一个对象。

据我了解,每当我们使用 new 关键字创建对象时,也会在字符串常量池中创建一个对象。那么为什么要使用 new 关键字创建字符串,而不是我们应该始终通过字符串文字创建。

所以请各位大侠告诉我我的理解是对还是错。如果错误,请提供必须使用“new”创建字符串的场景。

标签: javastring

解决方案


1=>。字符串 s=新字符串(“ABC”);2=>。字符串 s1=“ABC”;如果您同时创建 1 和 2,则仅在字符串池引用上创建一个“ABC”对象,以对两者进行堆。因为 1 和 2 字符是相同的。为什么要使用对象引用来创建 this 。创建字符串的最佳和简单方法是使用 String 类的方式 1 (String s=“ABC”)


推荐阅读