我正在检查一些专业编写的代码,并遇到了这个片段。(我希望这个片段足以回答我的问题 - 如果不让我知道)
...yada yada yada ....
private ITypedElement format(final ITypedElement elementToFormat) {
try {
if (elementToFormat instanceof IStreamContentAccessor) {
final IStreamContentAccessor resNode = (IStreamContentAccessor) elementToFormat;
final InputStream contentIs = resNode.getContents();
final String contentsString = fromInputStreamToString(contentIs);
final Map options = JavaCore.getOptions();
.... etc....
该if
段仅在elementToFormat
是 的实例时运行IStreamContentAccessor
。那么为什么程序会在if
语句“”之后做出第一条语句final IStreamContentAccessor resNode = (IStreamContentAccessor)elementToFormat;"
?
将某些东西转换为它必须已经是的类型可能有什么意义?