相关疑难解决方法(0)

如何在Java中使用匿名(内部)类?

Java中匿名类的用途是什么?我们可以说匿名类的使用是Java的优势之一吗?

java anonymous-inner-class anonymous-class

304
推荐指数
9
解决办法
22万
查看次数

Java Pass方法作为参数

我正在寻找一种通过引用传递方法的方法.我知道Java不会将方法作为参数传递,但是,我想获得一个替代方案.

我被告知接口是将方法作为参数传递的替代方法,但我不明白接口如何通过引用充当方法.如果我理解正确,接口只是一组未定义的抽象方法.我不希望每次都发送需要定义的接口,因为几种不同的方法可以使用相同的参数调用相同的方法.

我想要完成的是类似的事情:

public void setAllComponents(Component[] myComponentArray, Method myMethod) {
    for (Component leaf : myComponentArray) {
        if (leaf instanceof Container) { //recursive call if Container
            Container node = (Container) leaf;
            setAllComponents(node.getComponents(), myMethod);
        } //end if node
        myMethod(leaf);
    } //end looping through components
}
Run Code Online (Sandbox Code Playgroud)

调用如:

setAllComponents(this.getComponents(), changeColor());
setAllComponents(this.getComponents(), changeSize());
Run Code Online (Sandbox Code Playgroud)

java interface

254
推荐指数
10
解决办法
28万
查看次数

Java中C#匿名方法的等价物?

在C#中,您可以匿名定义委托(即使它们只不过是语法糖).例如,我可以这样做:

public string DoSomething(Func<string, string> someDelegate)
{
     // Do something involving someDelegate(string s)
} 

DoSomething(delegate(string s){ return s += "asd"; });
DoSomething(delegate(string s){ return s.Reverse(); });
Run Code Online (Sandbox Code Playgroud)

是否可以在Java中传递这样的代码?我正在使用处理框架,它有一个相当旧版本的Java(它没有泛型).

c# java processing delegates anonymous-function

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

为什么Java没有方法委托?

Sun的Java gurunaths(nathaनाथ= sanskrit for deity-master-protector)应该屈服于接受代表的必要性并将其草拟为Java规范.

在C#中,我可以将一个方法作为委托作为委托引用,而不需要因为我需要在Java中传递一个方法来创建一个类.

是什么原因导致它不必要(除了引用笨拙的使用一个全新的类为此目的)或不利的是Sun决定不用Java?创建类或匿名实现接口有哪些优势超过代理?我什么都想不到,可以吗?

c# java delegates

12
推荐指数
3
解决办法
2878
查看次数