我对 API 越来越感兴趣,并打算开始编写自己的 API,但后来我开始考虑 Java 标准库。
Java的标准库有一个String类,里面有很多方法,这不是很糟糕的设计吗?我的意思是,如果我要创建 String 类的新实例,它会创建一个具有许多方法(toUpper、toLower 等)的对象;这么简单的字符串不会占用很多内存吗?
谢谢,
威廉范多恩
最佳答案
不——您只需为方法“支付”一次,而不是每个实例一次。毕竟,String
的每个不同实例的代码都不会更改,那么为什么要为每个实例创建一个新副本呢?
(我怀疑在一些基于原型(prototype)的语言中,可能对具有很多方法的对象进行惩罚,这取决于它们是如何分配的......但你必须询问非常具体的情况.)
虽然 Java 中的 String 类确实有很多方法,但在许多平台上都会出现同样的情况——因为您可以通过多种方式使用字符串。
关于java - 特定语言的字符串类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3703232/