新手报到 ~ 今天看到 java 一段代码,完全不能理解,希望有大神能给点提示^_^

2016-01-11 12:26:54 +08:00
 springzero

代码是 java.lang.StringCoding 类中的一个方法

static char[] decode(byte abyte0[], int i, int j)
{
String s = Charset.defaultCharset().name();
return decode(s, abyte0, i, j); //第一个 return
UnsupportedEncodingException unsupportedencodingexception;
unsupportedencodingexception;
warnUnsupportedCharset(s);
return decode("ISO-8859-1", abyte0, i, j); //第二个 return
unsupportedencodingexception;
MessageUtils.err((new StringBuilder()).append("ISO-8859-1 charset not available: ").append(unsupportedencodingexception.toString()).toString());
System.exit(1);
return null;
}
这里第二个 return ( return decode("ISO-8859-1", abyte0, i, j))应该在某种情况下会运行到,。。。但是想不明白

不明白这里 return 为什么可以有多个(串联),直接百度函数使用多个 return ,都不是我要表达的意思,实在没办法,只能找社区碰碰运气。。。求大神指点

4527 次点击
所在节点    Java
22 条回复
sprinng
2016-01-12 09:08:44 +08:00
反编译没有 try catch
DRcoding
2016-01-12 09:19:07 +08:00
表听楼上乱讲,装完 jdk 后 src.zip 就在 jdk 根目录下面,这里的源码对应的是 rt.jar 包下的部分源码,在 eclipse 里 attach source 就行。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/249846

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX