java - 在java中创建字符串的最佳方法是什么
问题描述
在java中创建字符串有两种方法,如下所示:
- 字符串 s = new String("Hellow");
- 字符串 s1 = "你好";
在情况 1 中,将创建两个对象(一个在字符串常量池中,另一个在堆内存中),而在情况 2 中,仅在字符串常量池中创建一个对象。
据我了解,每当我们使用 new 关键字创建对象时,也会在字符串常量池中创建一个对象。那么为什么要使用 new 关键字创建字符串,而不是我们应该始终通过字符串文字创建。
所以请各位大侠告诉我我的理解是对还是错。如果错误,请提供必须使用“new”创建字符串的场景。
解决方案
1=>。字符串 s=新字符串(“ABC”);2=>。字符串 s1=“ABC”;如果您同时创建 1 和 2,则仅在字符串池引用上创建一个“ABC”对象,以对两者进行堆。因为 1 和 2 字符是相同的。为什么要使用对象引用来创建 this 。创建字符串的最佳和简单方法是使用 String 类的方式 1 (String s=“ABC”)
推荐阅读
- apache-kafka - Kafka 连接器配置错误:filter.condition:定义的 json 路径无效
- asp.net - IIS 10:提供与目录同名的文件
- postgresql - 有没有一种在注释或其他中在休眠/JPA 中发出唯一约束的好方法?
- node.js - SyntaxError:位置 1 处 JSON 中的意外标记 o - 简单错误
- javascript - W3 滑块 - 未捕获的类型错误:无法读取未定义的属性“类名”
- c# - Automapper - 快速自定义地图
- php - Laravel 模型 save() 方法没有返回正确的 ID?
- javascript - 在 Promise 中移除事件监听器
- nearprotocol - NEAR 上的智能合约有事件还是我需要轮询链来获取数据?
- spring - Spring security JWT 过滤器抛出 500 和 HTML 而不是 401 和 json