2

我正在尝试运行一个在我自己的计算机上运行良好但在其他人的计算机上运行良好的 .jar。

Exception in thread "main" java.lang.NoSuchMethodError: java.lang.Character.isAlphabetic(I)Z
    at chatai.Word.shrinkEndPunct(Word.java:91)
    at chatai.Word.createWord(Word.java:36)
    at chatai.ChatAI.addSentence(ChatAI.java:54)
    at shared.Initializer.main(Initializer.java:130)

我以前从未见过 (I)Z 部分,有人知道这是什么意思吗?我已经尝试过更新 Java。

4

2 回答 2

7

我以前从未见过 (I)Z 部分,有人知道这是什么意思吗?

(I)Z部分描述了方法签名的参数和返回类型部分。

在这种情况下,它表示该方法将 a 作为参数int,并返回 a boolean

以下是此类类型符号的完整列表:

V           void
Z           boolean
C           char
B           byte
S           short
I           int
F           float
J           long
D           double

L<class>;   Reference type, for example Ljava/lang/String;

很难说为什么该程序在您的计算机上运行良好。isAlphabetic标准 Java API 中没有调用方法。

Character.isAlphabetic方法是在 Java 7 中引入的。看起来您正在运行 Java 7,而您的朋友只安装了 Java 6(或更低版本)。

于 2011-09-01T12:26:28.463 回答
0

用户aioobe很好地解释了如何解释此错误消息。似乎引用的方法仅在 java7 中引入

于 2011-09-01T12:37:17.300 回答