System.out.println("Total: " + tzs.length + " time zone IDs"); for (String id : tzs) {
ids.add(id);
TimeZone tz = TimeZone.getTimeZone(id);
Integer offset = tz.getRawOffset();
Set<String> s = tree.get(offset); if (s == null) {
s = new HashSet<>();
tree.put(offset, s);
}
s.add(id);
}
for (Integer key : tree.keySet()) {
Set<String> s1 = tree.get(key);
// Make sure no duplicates in the other sets for (Integer k : tree.keySet()) { if (k.equals(key)) { continue;
}
Set<String> s2 = new HashSet<>(tree.get(k));
s2.retainAll(s1); if (!s2.isEmpty()) { thrownew RuntimeException("s1 included in the subset for " + (k.intValue()/60000) + " (" + s2 + " shouldn't be in s1)");
}
}
// Check the getAvailableIDs(int) call to return the same // set of IDs int offset = key.intValue();
tzs = TimeZone.getAvailableIDs(offset);
tzs2 = TimeZone.getAvailableIDs(offset); if (!Arrays.equals(tzs, tzs2)) { thrownew RuntimeException("inconsistent tzs from getAvailableIDs("+offset+")");
}
Set<String> s2 = new HashSet<>();
s2.addAll(Arrays.asList(tzs)); if (!s1.equals(s2)) { thrownew RuntimeException("s1 != s2 for " + offset/60000 + " (diff=" + getDiff(s1, s2) + ")");
} if (!ids.containsAll(s2)) { thrownew RuntimeException("s2 isn't a subset of ids (" + getDiff(s2, ids) + " not in ids)");
}
}
for (Integer key : tree.keySet()) {
Set<String> s1 = tree.get(key);
ids.removeAll(s1);
} if (!ids.isEmpty()) { thrownew RuntimeException("ids didn't become empty. (" + ids + ")");
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.