我正在阅读将在Java 7中出现的闭包.
我有点困惑,因为一方面有很多很好的文章描述了新的java闭包.但另一方面,有3种不同的规格,有些文章只是过时了,因为描述的不是最新的提案.
因此,如果有人从一开始就跟踪java闭包的进度,那么请在很短的时间内描述所有3个提案及其当前状态.
关于闭包的另一件事是,是否只存在一个开发线或正在开发不同的版本(例如,来自Sun,来自Google,来自Apache等的闭包)?
我需要制作日期是键的地图.如果2个日期对象具有相同的getTime()方法值,则它们是等于的.
我只对年,月,日感兴趣.如何trim获得"清除"日期不必要的小时和分钟?
我只是想知道对于任何NoSql DB(开源或专有)是否有任何JDBC实现(在某种程度上,尽可能多)?
您如何看待,这种实现是否有可能表现出与通讯员NoSql DB的原始API一样好的性能?
哪些部分无法实现(事务?CallableStatements?等)?
我不知道如何用简单的英语解释这个问题,所以我用regexp例子来帮助自己.我有类似的东西(这个例子非常简化):
((\\d+) - (\\d+)\n)+
Run Code Online (Sandbox Code Playgroud)
此模式一次匹配这些行:
123 - 23
32 - 321
3 - 0
99 - 55
Run Code Online (Sandbox Code Playgroud)
该模式包含3个组:第一个匹配一行,第二个匹配行中的第一个数字,第三个匹配行中的第二个数字.
是否有可能获得所有这些数字?Matcher只有3组.第一个返回99 - 55,第二个返回- 99第三个 - 55.
SSCCE:
class Test {
private static final Pattern pattern = Pattern.compile("((\\d+) - (\\d+)\n)+");
public static void parseInput(String input) {
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
for (int i = 0; i <= matcher.groupCount(); i++) {
System.out.println("------------");
System.out.println("Group " + i + ": " + matcher.group(i));
}
System.out.println();
}
}
public static …Run Code Online (Sandbox Code Playgroud) 如何将对象注入servlet?
我的意思是,我不能使用构造函数DI,因为servlet由servlets容器实例化.
而且我也没有看到为servlet实现基于setter的DI的好方法.
我应该使用servlet监听器吗?有没有最好的做法?
PS我既没有Spring也没有Guice,也没有任何其他DI框架,我对手动依赖注入感兴趣.
我有以下代码将ActionListener添加到JTextField:
chatInput.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
chatInputMouseClicked(evt);
}
});
Run Code Online (Sandbox Code Playgroud)
现在如何使用chatInput.removeMouseListener()此函数删除此MouseListener ,因为此函数需要参数?
我有一个ProductService方法接口findByCriteria.该方法具有空的参数的,像一个长长的清单productName,maxCost,minCost,producer等等.
我通过引入参数对象重构了这个方法.我创建了类SearchCriteria,现在方法签名如下所示:
findByCriteria (SearchCriteria criteria)
Run Code Online (Sandbox Code Playgroud)
我认为这些实例SearchCriteria只是由方法调用者创建的,并且只在findByCriteria方法内部使用,即:
void processRequest() {
SearchCriteria criteria = new SearchCriteria ()
.withMaxCost (maxCost)
.......
.withProducer (producer);
List<Product> products = productService.findByCriteria (criteria);
....
}
Run Code Online (Sandbox Code Playgroud)
和
List<Product> findByCriteria(SearchCriteria criteria) {
return doSmthAndReturnResult(criteria.getMaxCost(), criteria.getProducer());
}
Run Code Online (Sandbox Code Playgroud)
所以我不想创建一个单独的公共类SearchCriteria并将其放入ProductServiceInterface:
public interface ProductService {
List<Product> findByCriteria (SearchCriteria criteria);
static class SearchCriteria {
...
}
}
Run Code Online (Sandbox Code Playgroud)
这个界面有什么不好的吗?你SearchCriteria上课的地方在哪里?
是否有关于groovy脚本文件命名的约定?
我应该用camelcase形式命名脚本文件,就好像它是一个常规类(即FooBar.groovy)?
或者用小写字母和下划线(即foo_bar.groovy)来命名它会更好吗?