【发布时间】:2011-01-05 07:55:15
【问题描述】:
我需要用与java.lang.String完全相同的方法创建一个类。
在 Java 中执行此操作的最佳方法是什么?
我知道我不能扩展 String 类,因为它是 final。我不是在寻找需要复制java.lang.String 源代码的解决方案。例如,假设我需要名为 MyString 的自定义类中的功能 length(),它具有相应的 'myLength()` 方法。
实现myLength() 的最佳方式是什么?
我不是在查看各种算法来找出字符串的长度,而是重用String 的length() 方法。现在,一旦我准备好 MyString 类,我应该可以在任何地方使用它来进行自定义操作。
【问题讨论】:
-
您要解决的实际问题是什么?
-
我正在尝试找出最适合此类问题的设计模式。
-
我一直想知道,为什么 String 在 Java 中是 final 的?当然,它提供了我曾经需要的所有功能,并且从未想过需要扩展 String 类的操作,但您仍然永远不会知道某人可能需要什么!
-
@Alex:选择可能更多地与安全性有关,而不是设计。不要让我澄清这一点,因为我认为这只是我可能(或可能没有)读过的东西;-)