我试图在这段代码中使用常量而不是字符串文字:
new InputStreamReader(new FileInputStream(file), "UTF-8")
Run Code Online (Sandbox Code Playgroud)
"UTF-8"经常出现在代码中,而且更好地引用一些static final变量.你知道我在JDK哪里可以找到这样一个变量吗?
顺便说一句,第二个想法,这样的常量是糟糕的设计:公共静态文字...不是数据复制的解决方案
什么是获得ISO 8601格式的当前时刻,UTC 的最优雅方式?它应该看起来像:2010-10-12T08:50Z.
例:
String iso8601 = DateFormat.getDateTimeInstance(DateFormat.ISO_8601).format(date);
Run Code Online (Sandbox Code Playgroud) 我正在尝试以最简单的方式定义自己的异常类,这就是我得到的:
public class MyException extends Exception {}
public class Foo {
public bar() throws MyException {
throw new MyException("try again please");
}
}
Run Code Online (Sandbox Code Playgroud)
这就是Java编译器所说的:
cannot find symbol: constructor MyException(java.lang.String)
Run Code Online (Sandbox Code Playgroud)
我有一种感觉,这个构造函数必须继承自己java.lang.Exception,不是吗?
我有一个单元测试,需要使用位于的XML文件src/test/resources/abc.xml.获取文件内容的最简单方法是String什么?
我在我的项目中配置了一个checkstyle验证规则,禁止使用3个以上的输入参数定义类方法.该规则适用于我的类,但有时我必须扩展第三方类,这些类不遵守此特定规则.
是否有可能指示"checkstyle"应该默默忽略某种方法?
顺便说一句,我最终得到了自己的checkstyle包装器:qulice.com(参见严格控制Java代码质量)
这是代码:
package com.XXX;
public final class Foo {
private Foo() {
// intentionally empty
}
public static int bar() {
return 1;
}
}
Run Code Online (Sandbox Code Playgroud)
这是测试:
package com.XXX;
public FooTest {
@Test
void testValidatesThatBarWorks() {
int result = Foo.bar();
assertEquals(1, result);
}
@Test(expected = java.lang.IllegalAccessException.class)
void testValidatesThatClassFooIsNotInstantiable() {
Class cls = Class.forName("com.XXX.Foo");
cls.newInstance(); // exception here
}
}
Run Code Online (Sandbox Code Playgroud)
工作正常,课程经过测试.但Cobertura表示,该类私有构造函数的代码覆盖率为零.我们如何为这样的私有构造函数添加测试覆盖率?
在JSF MVC框架中谁是Model,View和Controller?
Groovy脚本引发错误:
def a = "test"
+ "test"
+ "test"
Run Code Online (Sandbox Code Playgroud)
错误:
No signature of method: java.lang.String.positive() is
applicable for argument types: () values: []
Run Code Online (Sandbox Code Playgroud)
虽然这个脚本工作正常:
def a = new String(
"test"
+ "test"
+ "test"
)
Run Code Online (Sandbox Code Playgroud)
为什么?
我无法理解JUnit 4.8应该如何与Hamcrest匹配器一起使用.有内部定义了一些匹配器junit-4.8.jar在org.hamcrest.CoreMatchers.同时,也有一些其他的匹配器hamcrest-all-1.1.jar中org.hamcrest.Matchers.那么,去哪里?我应该在项目中明确包含hamcrest JAR并忽略JUnit提供的匹配器吗?
特别是,我对empty()匹配器很感兴趣,并且无法在任何这些罐子中找到它.我需要别的吗?:)
还有一个哲学问题:为什么JUnit将org.hamcrest包装包含在自己的发行版中而不是鼓励我们使用原始的hamcrest库?
什么Unicode字符符号表示持续时间(例如时钟,沙漏或其他时计)?
例如"★3⅔"而不是"3小时40分钟",其中★是时间符号.
java ×8
checkstyle ×1
exception ×1
groovy ×1
hamcrest ×1
inheritance ×1
jsf ×1
junit ×1
multiline ×1
string ×1
testing ×1
unicode ×1
unit-testing ×1