无论如何让Eclipse自动查找静态导入?例如,现在我终于升级到了Junit 4,我希望能够写:
assertEquals(expectedValue, actualValue);
Run Code Online (Sandbox Code Playgroud)
点击Ctrl+ Shift+ O并添加Eclipse:
import static org.junit.Assert.assertEquals;
Run Code Online (Sandbox Code Playgroud)
也许我问的太多了.
目前正在进入Java 8 lambda表达式和方法引用.
我想传递一个没有args且没有返回值的方法作为另一个方法的参数.这就是我这样做的方式:
public void one() {
System.out.println("one()");
}
public void pass() {
run(this::one);
}
public void run(final Function function) {
function.call();
}
@FunctionalInterface
interface Function {
void call();
}
Run Code Online (Sandbox Code Playgroud)
我知道有一组预定义功能接口在java.util.function诸如Function<T,R>,但我没有找到一个不带任何参数,而不是产生结果.
考虑下面的课程.如果我针对它运行Findbugs,它将在第5行给出一个错误("可序列化类中的非瞬态非可序列化实例字段")但不在第7行.
1 public class TestClass implements Serializable {
2
3 private static final long serialVersionUID = 1905162041950251407L;
4
5 private Set<Integer> mySet; // Findbugs error
6
7 private HashSet<Integer> myOtherSet;
8
9 }
Run Code Online (Sandbox Code Playgroud)
这是正确的,因为java.util.Set从不在其层次结构中实现Serializable,而java.util.HashSet也是如此.但是,最佳做法是针对接口而不是具体实现进行编码.
我怎样才能最好地处理这件事?
我可以在第3行添加@Suppresswarnings(justification ="No bug",values ="SE_BAD_FIELD").我的实际代码中有很多集合和列表,我担心它会丢失我的代码太多.
还有更好的方法吗?
使用Enterprise Architect(版本9.2),我创建了一些类和序列UML图.现在我需要Word文档中的那些图表.
我的第一种方法是使用Windows 7 Snipping Tool将它们剪切掉并粘贴到文档中.但是出于印刷目的,质量太差了.
第二种方法是Enterprise Architect中提供的"将它们另存为图像".但有了这个,质量更差.
第三种方法是将它们导出为pdf文件.有了这个,质量相当不错,我可以将这些pdf导入到Inkscape中,然后将它们转换为*.png文件,将它们导入到word中.问题是,Enterprise Architect有点失败了.意味着图片本身具有高质量,但它试图转换类的字体,然后我在字母之间有一些空格,应该没有.
长话短说 - 有没有办法将我的UML图从Enterprise Architect导出到像.png或者这样的常见图片格式.tiff,同时保持不错的质量?
在Eclipse中运行我的所有测试(Eclipse 3.4'Ganymede')时,在"Unrooted Tests"下列出了一个测试.我正在使用Junit 3.8,这个特殊的测试扩展了TestCase.我认为这个测试和其他测试之间没有任何区别.我不记得在Eclipse 3.3(Europa)中发生这种情况.
澄清:
我们还没有转移到JUnit 4.0,所以我们没有使用注释.我也用Google搜索,似乎大多数人都遇到了JUnit 4的问题,但我没有看到任何解决方案.此时测试通过本地和CruiseControl传递,所以我并不过分担心,但很好奇.
但是,当我第一次看到这个时,它是在一个失败的测试中,只有在与其他测试一起运行时才会失败.这让我陷入了兔子洞,寻找解决我从未找到的"无根"问题的解决方案.最终我发现了另一个没有正确拆除的测试的罪魁祸首.
我同意,它看起来像Eclipse问题.
我正在通过BEA Weblogic Server v9.2运行时环境在Eclipse中启动Weblogic应用程序.如果这是直接从命令行运行,我会执行ctrl-BREAK来强制进行线程转储.有没有办法在Eclipse中做到这一点?
你用什么来将XML绑定到Java?JAXB,Castor和XMLBeans是一些可用的选择.我见过的比较都是三四年了.我愿意接受其他建议.编组/解组的性能和易用性是特别令人感兴趣的.
澄清:我不仅希望看到您使用的框架,而且还希望看到使用其中一个框架的原因.
我们有一个LDAP,其中包含许多遵循此模式的组:
Acme-MyApp-ABC-Admin Acme-MyApp-ABC-Bottlewasher Acme-MyApp-ABC-Cook Acme-MyApp-DEF-Admin Acme-MyApp-DEF-Bottlewasher Acme-MyApp-DEF-Cook等重复多次.
Acme-MyApp-ABC-Admin
Acme-MyApp-ABC-Bottlewasher
Acme-MyApp-ABC-Cook
Acme-MyApp-DEF-Admin
Acme-MyApp-DEF-Bottlewasher
Acme-MyApp-DEF-Cook
Run Code Online (Sandbox Code Playgroud)
正确返回Acme-MyApp-ABC-Admin组的成员.我们想找到所有管理员组的成员.
(&(objectClass=person)(memberOf=cn=Acme-MyApp-ABC-Admin,ou=Groups,dc=acme,dc=com))
Run Code Online (Sandbox Code Playgroud)
是否可以在DN中放置通配符?
我通常会尽量避免重复并遵守DRY原则.但是,我想知道这样的情况:
public class Feature {
final static String FEATURE_LABEL = "blah";
public void doSomething() { ... }
...
}
public class FeatureTest {
...
@Test
public void doSomethingShouldMakeSomethingHappen() {
assertEquals(Feature.FEATURE_LABEL,
feature.getSomethingHappens().getLabel());
}
Run Code Online (Sandbox Code Playgroud)
如果要求标签是"blah"并且某人将FEATURE_LABEL更改为"bleh",则即使测试不再符合要求,测试也会通过.这是否是违反DRY的有效地方?
如何添加要插入Java代码模板的新变量.如何在Window-> Preferences-> Java-> Code Style-> Code Templates-> Code-> New Java Files-> Edit-> Insert Variable ...?中向列表添加变量?
目前,我的新文件创建时使用:
${filecomment}
${package_declaration}
${typecomment}
${type_declaration}
Run Code Online (Sandbox Code Playgroud)
我希望他们能够像以下一样创建:
${begin_filecomment}
${package_declaration}
${typecomment}
${type_declaration}
${end_filecomment}
Run Code Online (Sandbox Code Playgroud)
其中begin_filecomment和end_filecomment出现在"插入变量"列表中.