草庐IT

c# - 有什么理由不使用 `new object().foo()` 吗?

当使用生命周期极短且只需要调用一个方法的对象时,我倾向于将方法调用直接链接到new。一个非常常见的示例如下所示:stringnoNewlines=newRegex("\\n+").Replace("",oldString);这里的要点是,在完成一次替换后,我不再需要Regex对象,而且我希望能够将其表示为一行。这个成语有什么不明显的问题吗?我的一些同事对此表示不适,但没有任何似乎是好的理由。(我已将其标记为C#和Java,因为上述习语在两种语言中都很常见且可用。) 最佳答案 这个特殊的模式很好——我自己偶尔也会用到它。但我不会像您在

java - hibernate 4.1.9 : Which jar files do I need?

我从“Hibernate3.2inSimpleSteps”这本书开始学习Hibernate框架,但我下载了最新版本的Hibernate,即4.1.9。根据这本书,我们需要将许多基本的jar添加到类路径中,例如Anttr-2.7.6.jarasm.jarasm-attrs.jarcglib-2.1.3.jarcommons-collections-2.1.1.jarcommons-logging-1.0.4.jar>。..等但我无法在新版本中找到所有需要的jar。那么如果不使用旧版本我能做什么呢??我是否只需要在所需的文件夹中添加jars,谁能告诉我我应该需要哪些jars来添加类路径(4

java - 在 Java 中,为什么调用 foo() 在给定 2 个可变参数方法 foo(int...ints) 和 foo(Object...objects) 的情况下没有歧义?

如果我只声明2个可变参数方法如下:publicvoidfoo(String...strings){System.out.println("FoowithStrings");}和publicvoidfoo(int...ints){System.out.println("Foowithints");}然后有代码:foo();这是由于预期的歧义导致的编译器错误。但是,如果我只有以下两个版本的foo:publicvoidfoo(Object...objects){System.out.println("FoowithObjects");}和publicvoidfoo(int...ints){S

java - Glassfish 3 : how do you change the (default) logging format?

问题源自这里:http://www.java.net/forum/topic/glassfish/glassfish/configuring-glassfish-logging-format-没有答案。默认的GlassFish3日志记录格式非常烦人,太长了。[#|2012-03-02T09:22:03.165+0100|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=113;_ThreadName=AWT-EventQueue-0;|MESSAGE

java - 非法参数异常 : Numbers of source Raster bands and source color space components do not match For a color image Exception

上面有人建议的答案将我的彩色图像转换为黑白图像。所以它不适合我的问题。Filefile=newFile("path");BufferedImagebufferedImage=ImageIO.read(file);这是代码,下面是图片。下载图像并保存在您的电脑中。并尝试使用正确的路径值运行上面的代码,它会在主题中抛出异常下载图片:https://skydrive.live.com/?cid=19547371C4F3B839&id=19547371C4F3B839%21105只要有人可以从图像中获取java.awt.image.BufferedImage对象就足够了(不应将图像转换为灰度图

javax.lang.模型 : How do I get the type of a field?

在java.lang.reflect,一个会做:FieldsomeField=...;ClassfieldType=someField.getType();但是我该如何处理javax.lang.model的VariableElement(这可能代表也可能不代表一个领域)?相应的返回值将是(我猜)TypeElement.VariableElementsomeField=...;TypeElementfieldType=someField.???;所以,在javax.lang.model,如何获取字段的类型(或TypeElement),由VariableElement表示?顺便说一句,没有

java - 简化的 Bresenham 线算法 : What does it *exactly* do?

根据维基百科关于Bresenham直线算法的文章,我实现了simplifiedversion在那里描述,我的Java实现如下所示:intdx=Math.abs(x2-x1);intdy=Math.abs(y2-y1);intsx=(x1-dy){err=err-dy;x1=x1+sx;}if(e2现在我确实明白了err控制着x轴上的步数与y轴上的步数之间的比率——但现在我应该记录代码在做什么我未能清楚地表达它的用途,以及为什么确切地if语句是什么,它们是怎样的,以及为什么err以代码中所见的方式更改.维基百科没有指出任何更详细的解释或来源,所以我想知道:err究竟做了什么以及为什么dx

java - Java 中的过早优化 : when to use "x = foo.getX()" vs simply "foo.getX()"

当我发现自己多次调用同一个getter方法时,这应该被认为是一个问题吗?[总是]分配给局部变量并只调用一次是否更好?我确定答案当然是“视情况而定”。我更关心更简单的情况,其中getter只是一种“传递私有(private)变量的值”类型的方法。即不涉及昂贵的计算,不消耗数据库连接等。我的“是否更好”的问题与代码可读性(风格)和性能有关。也就是说,是否有那么大的性能损失:SomeMethod1(a,b,foo.getX(),c);SomeMethod2(b,foo.getX(),c);SomeMethod3(foo.getX());对比:Xx=foo.getX();SomeMethod1

java - 影子插件 Gradle : What does mergeServiceFiles() do?

在我的build.gradle文件中,我需要添加以下行:shadowJar{mergeServiceFiles()}否则jar无法正常运行。我想知道这条线到底是做什么的?我在EclipseLuna中使用Gradle插件。我在一个依赖于另一个Java项目的Java项目上创建了jar。 最佳答案 mergeServiceFiles声明为here其实现如下:/***SyntacticsugarformergingservicefilesinJARs*@return*/publicShadowJarmergeServiceFiles(){t

java - "new Foo(){}"与 Java 中的 "new Foo()"

例如:Objecto1=newArrayList();Objecto2=newArrayList(){};Objecto3=newArrayList(){{}};有什么区别?我无法用谷歌搜索出Java的第二/第三语法,有什么引用吗? 最佳答案 首先创建一个ArrayList第二个创建ArrayList的匿名子类,它具有特定的通用类型String第三个是相同的,但它有一个空的初始化block。注意:只要有可能,您应该尽可能编写最简单、最清晰的代码,尤其是在考虑性能的情况下。 关于java-