考虑以下设置:
- SomeFilter extends Filter
- Filter implements Runnable
- Filter provides run() implementation
Run Code Online (Sandbox Code Playgroud)
有没有一种方法,使SomeFilter
利用它super
的run()
多一点?
内部逻辑run()
足够通用
- MyFilter extends Filter
- MyOtherFilter extends Filter
Run Code Online (Sandbox Code Playgroud)
但是不是SomeFilter
,那个想用它的超级run()
并添加一些额外的代码来处理它自己的特定情况?
有没有办法做到这一点,其他的则用于SomeFilter
覆盖run()
完全?
比较密码时,始终存在将其保留在内存中的问题.相反,在引入密码的那一刻,我想用它的md5快照(或任何其他哈希生成函数)替换它
假设你有一个Key Value对String password = "Secret";
,那么将"秘密"争夺到独特的东西的最简单方法是什么?
我不太清楚为什么我在这个方法中得到一个例外以及为什么在这个位置?(那里没有修改)
Iterator<EventGroup> groupIterator = eventGroups.iterator();
while (groupIterator.hasNext()) {
EventGroup eventGroup = groupIterator.next();
Iterator<ScheduledEvent> eventIterator = eventGroup.getEvents().iterator();
while (eventIterator.hasNext()) {
ScheduledEvent event = eventIterator.next(); // <------------- ConcurrentModificationException
boolean found = ((SomeObject) event).getSomeId() == someId;
if (found) {
unschedule++;
unscheduleEvent(event);
eventGroup.remove(event);
if (eventGroup.isEmpty()) {
eventGroups.remove(eventGroup);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
似乎这里唯一被修改的是eventGroup
,但我使用迭代器来遍历它.
请帮我理解这里发生了什么?
我的印象是,Scala列表中的每个对象必须具有相同的类型,如果我们需要具有不同类型的集合,则应使用元组.
从Scala的文档来看,List
是
用于表示类型元素的有序集合的不可变链表的类.
scala> val l1 = List(1,2,3)
l1: List[Int] = List(1, 2, 3)
scala> val l1 = List(1,2,3, "oh really?!")
l1: List[Any] = List(1, 2, 3, oh really?!)
Run Code Online (Sandbox Code Playgroud)
似乎并非如此.毕竟Any
它本身是一个有效的Scala
类型,一切都可以减少到它.
请澄清
我有一个包含2个全局变量的文件A.
root = ""
crumbs = []
def read(line):
global root, crumbs
line = line.strip()
open_tag = is_valid_open(line)
kv = get_kv(line)
if open_tag is not None:
root += open_tag + "."
print root <---------- prints stuff
elif kv is not None:
crumbs.append(kv[0] + "=" + kv[1])
print crumbs <---------- prints stuff
Run Code Online (Sandbox Code Playgroud)
我有一个测试我
from A import read, root, crumbs
Run Code Online (Sandbox Code Playgroud)
我喂它一些数据
read('<a>')
read('<b>')
read('<d>acceptor</d>')
Run Code Online (Sandbox Code Playgroud)
并打印结果
print "." + root + "." <---------- prints NOTHING
print "." + str(crumbs) + "." <---------- prints …
Run Code Online (Sandbox Code Playgroud)