如何使用for循环更改方法名称

它的能力

我有一个字符串列表,并且我有10个独特的方法根据它是什么字符串进行不同的验证。例如,这就是我现在拥有的:

if(name1 != null){
  validateName1();
}
else{
  throw Error();
}

 if(name2 != null){
  validateName2();
}
else{
  throw Error();
}
...

因此,我没有对所有不同的方法进行相同的if-else检查10次,而是希望将名称存储在String列表中,并通过以下方式进行for循环:

List<String> names = new ArrayList<String>();
for(name : names){
   if(name != null){
     validate[name]();
   }
   else{
     throw Error();
   }

请让我知道这是否可行,或者这是一种基本方法,并且可以更好地解决我的问题。要重申我的问题,基本上我有10个不同且唯一的验证方法,而不是为每个方法编写if-else,我希望能够通过for循环以新名称调用这些方法。

在此先感谢您的帮助!

埃德温·巴克

首先,每种类型的名称都有一个不同的验证器。您说您有十个名字:

public interface Name {
}

public class ShortName implements Name {
}

public class LongName implements Name {
}

public class MaidenName implements Name {
}

等等。然后,您必须验证名称。

public interface Name {
  public void validate();
}

这会使您的其他名称没有该setName(...)方法而引发编译器错误因此添加它。

public class ShortName implements Name {
   private String name;

   public void validate() {
     // the first pass at validation
     if (name == null) {
        throw IllegalStateException("Name cannot be null");
     }
     // the second pass at validation
     if ("".equals(name)) {
        throw IllegalStateException("Name has a zero length");
     }
     // ok, the name is valid
   }
}

一旦为每个名称都使用了其中之一,就可以执行此操作。

List<Name> names = getNames();

for (Name name : names) {
   names.validate();
}

并且每种类型的名称都将运行其唯一的验证器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在java循环中动态更改方法名称

来自分类Dev

如何在Java运行时更改方法名称?

来自分类Dev

更改类名称,方法名称并导出

来自分类Dev

如何获得方法名称?

来自分类Dev

如何获取在传递参数的lambda中使用的方法名称

来自分类Dev

如何使用方法名称作为参数

来自分类Dev

如何获取模型的方法名称数组?

来自分类Dev

smalltalk反射-如何获取方法名称?

来自分类Dev

如何获得模型的方法名称数组?

来自分类Dev

如何插入 ruby 方法名称

来自分类Dev

使用参数调用委托方法名称

来自分类Dev

在Rails方法名称中使用@符号

来自分类Dev

DoWorkEventHandler“应该使用方法名称”

来自分类Dev

使用参数调用委托方法名称

来自分类Dev

如何解决“重复的方法名称:属性更改信号或超类信号的无效覆盖”?

来自分类Dev

如何在类内部使用内置函数名称作为方法名称

来自分类Dev

使用PostSharp时如何在原始方法中获取方法名称?

来自分类Dev

如何使用方法名称作为字符串调用方法

来自分类Dev

如何使用Groovy获取没有继承方法的类的所有方法名称?

来自分类Dev

如何确保我的方法调用在正确的对象上使用正确的方法名称?

来自分类Dev

如何使用Groovy获取没有继承方法的类的所有方法名称?

来自分类Dev

如何使用方法名称作为字符串来调用方法

来自分类Dev

如何在Ruby中使用存储在数组中的方法名称来调用类方法?

来自分类Dev

如何使用“dependsOnMethods”以编程方式查找触发当前测试方法的测试方法名称

来自分类Dev

Resharper自定义模式更改方法名称

来自分类Dev

更改服务方法名称时出现Grails ReloadingException

来自分类Dev

方法名称在情节提要连接检查器中更改

来自分类Dev

动态方法名称

来自分类Dev

如何获取脚本中使用的所有变量和方法名称

Related 相关文章

  1. 1

    如何在java循环中动态更改方法名称

  2. 2

    如何在Java运行时更改方法名称?

  3. 3

    更改类名称,方法名称并导出

  4. 4

    如何获得方法名称?

  5. 5

    如何获取在传递参数的lambda中使用的方法名称

  6. 6

    如何使用方法名称作为参数

  7. 7

    如何获取模型的方法名称数组?

  8. 8

    smalltalk反射-如何获取方法名称?

  9. 9

    如何获得模型的方法名称数组?

  10. 10

    如何插入 ruby 方法名称

  11. 11

    使用参数调用委托方法名称

  12. 12

    在Rails方法名称中使用@符号

  13. 13

    DoWorkEventHandler“应该使用方法名称”

  14. 14

    使用参数调用委托方法名称

  15. 15

    如何解决“重复的方法名称:属性更改信号或超类信号的无效覆盖”?

  16. 16

    如何在类内部使用内置函数名称作为方法名称

  17. 17

    使用PostSharp时如何在原始方法中获取方法名称?

  18. 18

    如何使用方法名称作为字符串调用方法

  19. 19

    如何使用Groovy获取没有继承方法的类的所有方法名称?

  20. 20

    如何确保我的方法调用在正确的对象上使用正确的方法名称?

  21. 21

    如何使用Groovy获取没有继承方法的类的所有方法名称?

  22. 22

    如何使用方法名称作为字符串来调用方法

  23. 23

    如何在Ruby中使用存储在数组中的方法名称来调用类方法?

  24. 24

    如何使用“dependsOnMethods”以编程方式查找触发当前测试方法的测试方法名称

  25. 25

    Resharper自定义模式更改方法名称

  26. 26

    更改服务方法名称时出现Grails ReloadingException

  27. 27

    方法名称在情节提要连接检查器中更改

  28. 28

    动态方法名称

  29. 29

    如何获取脚本中使用的所有变量和方法名称

热门标签

归档