将注释函数解析为java参数
我目前正在开发一个应用程序,我希望有可以用作回调的带注释的函数 历史将注释函数解析为java参数,java,annotations,Java,Annotations,我目前正在开发一个应用程序,我希望有可以用作回调的带注释的函数 历史 当我以前做Swift开发时,我记得使用一些函数作为参数,您需要运行@objc 我想做一些类似的事情并使用@函数 当前代码 Function.java package com.iprogrammer.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Target; @Target(
当我以前做Swift开发时,我记得使用一些函数作为参数,您需要运行
@objc
我想做一些类似的事情并使用
@函数
当前代码
Function.java
package com.iprogrammer.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
@Target(value={ElementType.METHOD})
public @interface Function{
}
App.java
package dev.davidkeen.annotations;
import java.lang.annotation.Annotation;
public final class App {
private App() {
}
public static void main(String[] args) {
Main main = new Main();
main.run();
}
}
class Main{
public Main(){}
public void run(){
someFunc(someFunc2);
}
void someFunc(Function function){
function();
}
@Function void someFuncTwo(){
System.out.println("Hello");
}
}
是否可以将someFuncTwo
解析为someFunc
的参数
编辑
我想使用注释的原因是因为以下用法
class AdminController{
private AdminModdle _moddle;
private JFrame _view;
public AdminController{
_view.buttonOne.setAction(actionOne);
_view.buttonTwo.setAction(actionTwo);
}
@Function void actionOne(){
//Do stuff
}
@Function void actionTwo(){
//Do Stuff
}
public JFrame getView(){
return _view;
}
}
这里有一个例子。@Linitha,但是它使用了一个接口,而不是注释?我想做的是能够将函数解析为参数,而不是函数。基本上我想要函数void func(){//Do Stuff}和Do
doSomthing(func)
。否则,我必须为每个函数创建一个新类。我正在尝试用mvc创建控制器,以便@Function能更好地工作。@gurioso请查看我的编辑,这解释了我为什么需要这种用法。如您所见,这种用法看起来比lambda或类好得多。基本上我想要sugger语法。不清楚为什么你认为你需要使用注释来实现它。@SotiriosDelimanolis我说过它是用于sugar语法的,只是想学习如何实现它。“重复问题”不是重复的。