Java 8 здесь. У меня есть следующие POJO:
public class Fizz {
// ctor, getters & setters, etc.
}
public class Buzz {
// ctor, getters & setters, etc.
}
public class Foobar {
// ctor, getters & setters, etc.
}
public class Envelope<PAYLOAD_TYPE> {
private String name;
private PAYLOAD_TYPE payload;
// ctor, getters & setters, etc.
}
И следующий класс, который обрабатывает Envelope
:
public class Processor {
public List<Widget> process(final Envelope<?> envelope) {
if (envelope is an Envelope<Fizz>) {
// do something 1
} else if (envelope is an Envelope<Buzz>) {
// do something 2
} else if (envelope is an Envelope<Foobar>) {
// do something 3
} else {
// do something 4
}
}
}
Как я могу определить, что означает захват envelope
в классе Processor#process
, чтобы я мог принимать свои решения в блоках if-else-if?