Я хочу понять, как работает приведенный ниже код:
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);
}
};
Я не понимаю, что это и как это работает. в нем есть блок кода, заключенный в {} и заканчивающийся на; , Мне не хватает концепции структуры здесь, потому что я никогда не видел такого рода код.
Если кто-то может объяснить мне эту концепцию, это было бы очень полезно.
Спасибо,
Sourabh