我想了解以下代码的工作方式:
class DateChecker {
public static Matcher<String> checkDate(final String pattern) {
return new TypeSafeMatcher<String>() {
@Override
public void describeTo(Description description) {
description.appendText("expected result from check date: ").appendValue(pattern);
}
@Override
public boolean matchesSafely(final String date) {
return pattern.equals(date);
}
@Override
public void describeMismatchSafely(final String date, final Description mismatchDescription) {
String str = mismatchDescription.toString();
mismatchDescription.appendText("was ").appendValue(date);
}
};
}
}
代码块
return new TypeSafeMatcher<String>() {
@Override
public void describeTo(Description description) {
description.appendText("expected result from check date: ").appendValue(pattern);
}
@Override
public boolean matchesSafely(final String date) {
return pattern.equals(date);
}
@Override
public void describeMismatchSafely(final String date, final Description mismatchDescription) {
String str = mismatchDescription.toString();
mismatchDescription.appendText("was ").appendValue(date);
}
};
我不明白这是什么以及它如何工作。它有一个用{}括起来并以;结尾的代码块; 。我是否在这里缺少结构概念,因为我从未见过此类代码。
如果有人可以向我解释这个概念,那将是很大的帮助。
谢谢, 苏拉卜