小编Fat*_*ton的帖子

具有内部类和内部接口的Java泛型

下面我有一个通用的OuterClass,一个使用OuterClass泛型和非泛型InnerInterface的InnerClass.

public class OuterClass<E> {

    public class InnerClass  {

        public E someMethod() {
            return null;
        }
    }

    public interface InnerInterface{
        public void onEvent(OuterClass.InnerClass innerClass);
    }
}
Run Code Online (Sandbox Code Playgroud)

在下面的主要方法中,我使用两个OuterClass实例,o1参数化,和o2一起使用.我的匿名内部类myListener尝试使用外部类(E)的泛型类型.下面的代码不能编译(Integer i = innerClass.someMethod() - 类型不匹配:无法从Object转换为Integer).

public class Test {
    public static void main(String[] args) {

        OuterClass<Integer> o1 = new OuterClass<Integer>();
        OuterClass<String> o2 = new OuterClass<String>();

        OuterClass.InnerInterface innerInterface = new OuterClass.InnerInterface() {
            @Override
            public void onEvent(InnerClass innerClass) {
                Integer i = innerClass.someMethod();
            }
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

我想表达myListener用于o1,并且应该使用E = Integer,而不重复它(不重复,我在声明o1时已经说过).那可能吗?

非常感谢!Faton.

java generics

9
推荐指数
1
解决办法
2万
查看次数

如何获取事件xxforms-value-changed的值?

我希望在fr-form-instance中更改值时获取元素(或ID)的值和名称?我在"fr-form-modal"中添加了以下内容:

<xforms:model id="fr-form-model">

                  ...
                  ...

    <xforms:action ev:event="xxforms-value-changed" ev:observer="fr-form-instance"> 
          <xxforms:variable name="changed-value" select="."/>//doesn't work
          //get name(or id) if possible
    </xforms:action>

                  ...
                  ...

</xforms:model>
Run Code Online (Sandbox Code Playgroud)

变量$ changed-value为空.有没有办法实现这个目标?

orbeon

1
推荐指数
1
解决办法
1432
查看次数

标签 统计

generics ×1

java ×1

orbeon ×1