gpt4 book ai didi

java - StringBuilder 和 CharSequence 不兼容

转载 作者:行者123 更新时间:2023-12-01 18:11:57 26 4
gpt4 key购买 nike

我是 Java 语言的初学者,现在正在学习 Oracle Java 教程,以更深入地了解该语言。当我学习界面部分时,当我尝试做练习时我感到困惑:

“编写一个类,实现 java.lang 包中的 CharSequence 接口(interface)。您的实现应该向后返回字符串。选择本书中的句子之一作为数据。编写一个小的 main 方法来测试您的类;确保调用所有四个方法。”

当我这样做时,我发现了一些奇怪的事情。首先,我下载了 java.lang.CharSequence 接口(interface)源代码并将其作为接口(interface)文件添加到我的主目录中,我的“subSequence”实现提示 StringBuilder 无法转换为 CharSequence 类型。强>

这是代码:

public CharSequence subSequence(int start, int end) {
if (start < 0) {
throw new StringIndexOutOfBoundsException(start);
}
if (end > s.length()) {
throw new StringIndexOutOfBoundsException(end);
}
if (start > end) {
throw new StringIndexOutOfBoundsException(start - end);
}
StringBuilder sub =
new StringBuilder(s.subSequence(fromEnd(end), fromEnd(start)));
return sub.reverse();
}

但是当我删除 CharSequence 接口(interface)的本地文件时,java 编译器发现我正在实现“java.lang.CharSequence”接口(interface)而不是本地包,然后编译错误就消失了。

只是好奇这个。本地接口(interface)文件和库接口(interface)文件有什么区别?那么一开始的编译错误是什么原因造成的呢?

最佳答案

不存在“本地接口(interface)文件”这样的东西。

您创建了一个全新的、不相关的接口(interface),它恰好与 JRE 中的接口(interface)同名。

您可以直接从 JRE 包中使用 JRE 中定义的类型,无需下载任何内容。

关于java - StringBuilder 和 CharSequence 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32300724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com