1:
三种类加载器和不同的获取方式以及作用介绍
获取当前classLoader 获取不同的类加载器,作用不同
集合遍历的方法两种
// Collect all properties.
Properties props = new Properties();
try {
Enumeration<URL> resources = classLoader.getResources("META-INF/io.netty.versions.properties");
while (resources.hasMoreElements()) {
URL url = resources.nextElement();
InputStream in = url.openStream();
try {
props.load(in);
} finally {
try {
in.close();
} catch (Exception ignore) {
// Ignore.
}
}
}
} catch (Exception ignore) {
// Not critical. Just ignore.
}
学会用其他的集合,不同的场景
1: Map<String, Version> versions = new TreeMap<String, Version>();
for (String artifactId: artifactIds) {
versions.put(
artifactId,
new Version(
artifactId,
props.getProperty(artifactId + PROP_VERSION),
parseIso8601(props.getProperty(artifactId + PROP_BUILD_DATE)),
parseIso8601(props.getProperty(artifactId + PROP_COMMIT_DATE)),
props.getProperty(artifactId + PROP_SHORT_COMMIT_HASH),
props.getProperty(artifactId + PROP_LONG_COMMIT_HASH),
props.getProperty(artifactId + PROP_REPO_STATUS)));
}
// Collect all artifactIds.
2: Set<String> artifactIds = new HashSet<String>();
for (Object o: props.keySet()) {
String k = (String) o;
int dotIndex = k.indexOf('.');
if (dotIndex <= 0) {
continue;
}
String artifactId = k.substring(0, dotIndex);
// Skip the entries without required information.
if (!props.containsKey(artifactId + PROP_VERSION) ||
!props.containsKey(artifactId + PROP_BUILD_DATE) ||
!props.containsKey(artifactId + PROP_COMMIT_DATE) ||
!props.containsKey(artifactId + PROP_SHORT_COMMIT_HASH) ||
!props.containsKey(artifactId + PROP_LONG_COMMIT_HASH) ||
!props.containsKey(artifactId + PROP_REPO_STATUS)) {
continue;
}
artifactIds.add(artifactId);
}
断言的使用:
[断言的使用](https://blog.csdn.net/hezhimin1124/article/details/106397348)