gpt4 book ai didi

java - 有什么方法可以从层次结构中更高的类中退出命名循环(或其他方式)?

转载 作者:太空宇宙 更新时间:2023-11-04 06:35:52 24 4
gpt4 key购买 nike

我有这样的抽象类布局:

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 class Mapper1{

@Override
public void doMap(){

mainLoop: for(LoopVar var: LoopVars){

String code = var.getCode();
code = mapCode(code);
//finish mapping
}
}

我在曾经实现的映射器中拥有mainLoop,并且在许多映射器中我称之为mapCode。不过,每次我的代码长度不是我想要的时,我都想继续 mainLoop。

我知道我可以简单地在每个实现的映射器中添加额外的检查,但是有很多映射器,理想情况下我想在抽象类的方法中干净地完成这一切(我也不想命名我的循环,但mapCode通常位于嵌套循环内)。

如有任何帮助,我们将不胜感激。

谢谢

最佳答案

为什么不在抽象映射器中添加一个 shouldContinueMainLoop(code) ?这样,它将在所有可用的映射器中实现,并且在 Mapper1 调用 中也可用。您只需将 mainLoop 更改为

    mainLoop: for(LoopVar var: LoopVars){

String code = var.getCode();
if(shouldContinueMainLoop(code))
continue;
code = mapCode(code);
//finish mapping
}

关于java - 有什么方法可以从层次结构中更高的类中退出命名循环(或其他方式)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25401655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com