我在 Flex 中有以下字段:

[Bindable] public var zIndex:uint;

我试图创建处理 Java 调用的方法,但遇到了问题。

1. public int getZIndex(); // Does not work.
2. public int getzIndex(); // Works.

我以为get/set后面的字母应该大写?是否有一个原因?我找不到任何文档。

我发现了一个 关于 StackOverflow 的回答,它指出第一个是命名访问器/突变器的正确方法。

没有正确的解决方案

其他提示

在进一步调查后找到了答案。

[I] 如果名称的前两个字符都是大写的,则不要理会。

Sun 的 JavaBean 规范 条第 8.8 节指出:

8.8 推断名称的大写。

当我们使用设计模式来推断属性或事件名称时,我们需要确定要遵循哪些规则来将推断的名称大写。如果 我们从普通的混合大小写样式 Java 名称的中间提取名称,则默认情况下,名称将以大写字母开头。

Java 程序员习惯于让普通标识符以小写字母开头 。审稿人的积极反馈使我们确信 我们应该对属性和事件名称遵循同样的常规规则 。

因此,当我们从现有 Java 名称的中间提取属性或事件名称时,我们通常会将第一个字符转换为小写。然而,为了支持偶尔使用所有大写名称, 我们检查名称的前两个字符是否都是大写 ,如果是,则不理会它。例如,

“FooBah”变成“fooBah” "Z" 变成 "z" "URL" 变成 "URL"

我们提供了一个方法 Introspector.decapitalize,它实现了这个 转换规则。

JavaBeans Introspection -- Sun Microsystems -- 10/12/97
许可以下: CC-BY-SA归因
scroll top