是否存在合并多个迭代器的Iterator实现?
class MergedIterator<T> implements Iterator<T>
{
MergedIterator(Iterator<T>... iters)
....
}
Run Code Online (Sandbox Code Playgroud)
而接下来的方法应该移动到iters[1]
时候!iters[0].hasNext()
等
我们都见过这种类型的代码.一个调用B,它调用A,它委托给C做一些难以理解的测试并根据结果调用一个具有不同参数的D的单个方法,它有一个大的开关块,所有这些基本上相似但略有不同的东西.很可能涉及一些多态性,可能是工厂创建处理程序实例并在地图中注册但它总是以带有巨大开关块的静态方法结束.调用图看起来像是一个糟糕的猫摇篮.
我正在寻找描述这一点的英语短语.如果我要硬币一个,我会说代码跳过更多的箍然后一个猴子在空中飞人,但我正在寻找一个众所周知的东西.
有什么建议?
编辑:大多数(如果不是所有)我得到的回答都是令人讨厌的,技术相关的.我正在寻找的是一个英语短语.
我有一些使用来自cygwin的gawk的awk脚本.现在我需要将这些脚本传递给没有安装cygwin的同事,但确实有Perl.我希望我可以使用包含在cygwin中的a2p,但它失败了,如下所示:
Undefined subroutine &main::gensub called at ./t.pl line 18, <> line 1.
Run Code Online (Sandbox Code Playgroud)
我希望有现有的Perl库/模块实现这些方法.有什么指针吗?
对我个人来说(这并不意味着我是对的),包括try-catch语句在方法'重载'他们的内部结构为读者.使用DB时,您应该包括SQLExceptions,ConnectionExceptions等等.有没有办法将所有例外的责任放在某个对象上?
我想是这样的:
enum TaskEnum {
doSmth1, doSmth2, doSmth3, doSmth4
}
class OuterClass {
doWhatever(TaskEnum task, String… args) {
try {
switch(task) {
case (doSmth1): InnerClassInstance.execute1(args); break;
case (doSmth2): InnerClassInstance.execute2(args);break;
case (doSmth3): InnerClassInstance.execute3(args);break;
case (doSmth4): InnerClassInstance.execute4(args);break;
} catch(Exception e) {
e.printStack()}
}
}
}
class InnerClass {
execute1(String args) throws Exception() {bla-bla-bla};
execute2(String args)throws Exception() { bla-bla-bla };
execute3(String args)throws Exception() { bla-bla-bla };
execute4(String args)throws Exception() { bla-bla-bla };
}
Run Code Online (Sandbox Code Playgroud)
通过这种方式,外部类将负责所有内部类方法抛出的异常.当然,如果认为我的解决方案是好的,我不会问这个问题.这只是一个例子,让你理解这个想法.
请分享您对此的看法.
我需要创建一个项目,其中有两个本地和远程数据库.远程数据库需要每天与本地数据库同步,以反映在本地数据库中所做的更改.我正在使用JAVA.数据库是ORACLE.我有JAVA/JPA代码在本地数据库上执行CRUD操作.如何将更改同步到远程数据库.
我有一串文字:AB CD EF GH
我想反转文字,所以它看起来像这样:GH EF CD AB
因此,AB CD EF GH将成为GH EF CD AB