Java 使用函数调用生成字符串并使用它
有可能这样做吗Java 使用函数调用生成字符串并使用它,java,string,Java,String,有可能这样做吗 Dog dog = new dog(); String command = ".bark().wag().jump()"; //assume these all exist in the Dog object dog+命令//我想用dog.bark().wag().jump()代替这个在运行时。如何执行此操作?您可以创建并使用带有反射的自定义注释来标记具有名称的方法: @Command(name="bark") public void
Dog dog = new dog();
String command = ".bark().wag().jump()"; //assume these all exist in the Dog object
dog+命令//我想用dog.bark().wag().jump()代替这个代码>在运行时。如何执行此操作?您可以创建并使用带有反射的自定义注释来标记具有名称的方法:
@Command(name="bark")
public void bark() {
System.out.println("Le BARK, le WOOF! Je suis un chien!");
}
您可以只查询方法名,但我更喜欢做注释,这样我就可以随时将方法名更改为我想要的任何名称,并保持相同的命令名
虽然最好在类中创建一个方法,如:
public void executeCommand(String command) {
if (command.contains("bark") {
bark();
}
}
如果您正在寻找一种方法来避免您的手指因键入冗长的java代码而变得笨拙,恐怕我所知道的没有真正的捷径。通常我会发现,当我尝试过类似的事情时,我最终键入的内容要比直接键入的内容多得多。看起来我需要的是CriteriaBuilder。感谢欢迎使用堆栈溢出!有很多方法可以通过反射来实现这一点,但我一般不建议这样做。您到底想实现什么?我正在为LDAP创建一个查询,与SQL不同,我必须使用函数调用,而不是编写简单的语句。因此,我需要能够向以下内容添加更多的.and()命令:List persons=ldapTemplate.search(query().where(“objectclass”).is(“person”),.and(query().where(“cn”).is(“Doe”)或(“cn”).is(“Doo”);你应该把评论的内容放在问题中。我试图让我的问题保持简单。听起来JPA的CriteriaBuilder
可以完成这项工作。当你可以问一个明确的问题时,千万不要问一个简单的问题;-)在上使用split命令()。