java - 特定语言的字符串类

标签 java string api memory object

我对 API 越来越感兴趣,并打算开始编写自己的 API,但后来我开始考虑 Java 标准库。

Java的标准库有一个String类,里面有很多方法,这不是很糟糕的设计吗?我的意思是,如果我要创建 String 类的新实例,它会创建一个具有许多方法(toUpper、toLower 等)的对象;这么简单的字符串不会占用很多内存吗?

谢谢,

威廉范多恩

最佳答案

不——您只需为方法“支付”一次,而不是每个实例一次。毕竟,String 的每个不同实例的代码都不会更改,那么为什么要为每个实例创建一个新副本呢?

(我怀疑在一些基于原型(prototype)的语言中,可能对具有很多方法的对象进行惩罚,这取决于它们是如何分配的......但你必须询问非常具体的情况.)

虽然 Java 中的 String 类确实有很多方法,但在许多平台上都会出现同样的情况——因为您可以通过多种方式使用字符串。

关于java - 特定语言的字符串类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3703232/

相关文章:

python - 工件批量更新

java - 通过 Smack android api 添加新用户到 ejabberd

C# 字符串与字符串, boolean 与 boolean 值

java - 如何在字符串中每 6 个空格添加 "\n"?

string - 有什么方法可以在 javaScript 中检索附加到 String 的 int 值?

java - 哪个 PDF 生成 API (Java) 支持古吉拉特语字体?

存储访问 key 的 Django 最佳实践

java - 当通过 testng 框架执行时,我的 selenium 测试未从 cmd 或 Jenkins 运行。结果 : Total tests run: 0, 失败 : 0, 跳过:0

java - Spring java代码表单发布并重定向到不同的服务器

java - Spark Hive - 带窗口函数的 UDFArgumentTypeException?