扩展String(或类似)的Java类

时间:2015-05-05 12:02:58

标签: java class

这主要是出于好奇。你如何(如果可以的话)创建一个模仿String的类。你不能将String扩展为final,所以这是一个不行,但纯粹是为了兴趣因素,我考虑创建一个可以按字面初始化的对象(String s = "string";)。

这可能吗?如果是这样,怎么样?如果没有,为什么?

2 个答案:

答案 0 :(得分:7)

不,不可能在Java中引入自己的文字类型。语言规范给出了数字,字符和字符串文字的语法,就是这样。

您甚至无法将具有文字表示形式的现有类型的隐式转换添加到您自己的自定义类型中(就像在C#中一样 - 作为“近亲”的示例)。

答案 1 :(得分:4)

出于安全原因,字符串是最终的。

但是,从Java 1.4开始,String一直是 CharSequence 接口的实现。如果您根据CharSequences编写代码,您将能够针对该接口的任何实现运行它,包括String。