Java 有没有办法从层次结构中更上层的类中退出命名循环(或以其他方式)?
我有一个抽象类的布局:Java 有没有办法从层次结构中更上层的类中退出命名循环(或以其他方式)?,java,loops,hierarchy,Java,Loops,Hierarchy,我有一个抽象类的布局: public abstract class AbstractMapper{ protected abstract void doMap(); protected String mapCode(final String code){ if(code.length > 5){ //continue mainLoop from mapper } return code;
public abstract class AbstractMapper{
protected abstract void doMap();
protected String mapCode(final String code){
if(code.length > 5){
//continue mainLoop from mapper
}
return code;
}
}
这是一个映射器的实现(众多映射器之一):
我曾经在mainLoop中实现过mapper,在很多mapper中我称之为mapCode。然而,每当我的代码长度不是我想要的时,我想继续main循环
我知道我可以简单地在每个实现的映射器中添加一个额外的检查,但是有很多映射器,理想情况下,我希望在抽象类的方法中干净利落地完成这一切(我也不想命名我的循环,但映射代码通常位于嵌套循环中)
任何帮助都将不胜感激
谢谢为什么不在抽象映射器中添加一个
shouldContinueMainLoop(code)
?这样,它将在所有可用的映射程序中实现,并且在Mapper1调用中也可用。您只需将主循环更改为
mainLoop: for(LoopVar var: LoopVars){
String code = var.getCode();
if(shouldContinueMainLoop(code))
continue;
code = mapCode(code);
//finish mapping
}
mainLoop: for(LoopVar var: LoopVars){
String code = var.getCode();
if(shouldContinueMainLoop(code))
continue;
code = mapCode(code);
//finish mapping
}