Version: 2.7.2

When reading the AutoConfigurationImportSelector class, the getExclusions method is a bit confusing, there are two different ways to get an array of strings from AnnotationAttributes based on attribute names.

The source code is as follows:

protected Set<String> getExclusions(AnnotationMetadata metadata, AnnotationAttributes attributes) {
    Set<String> excluded = new LinkedHashSet<>();
    excluded.addAll(asList(attributes, "exclude"));
    excluded.addAll(Arrays.asList(attributes.getStringArray("excludeName")));
    excluded.addAll(getExcludeAutoConfigurationsProperty());
    return excluded;
}

protected final List<String> asList(AnnotationAttributes attributes, String name) {
    String[] value = attributes.getStringArray(name);
    return Arrays.asList(value);
}

Is it possible to do the same way, for example like below:

protected Set<String> getExclusions(AnnotationMetadata metadata, AnnotationAttributes attributes) {
    Set<String> excluded = new LinkedHashSet<>();
    excluded.addAll(Arrays.asList(attributes.getStringArray("exclude")));
    excluded.addAll(Arrays.asList(attributes.getStringArray("excludeName")));
    excluded.addAll(getExcludeAutoConfigurationsProperty());
    return excluded;
}

This is not a problem and can of course be ignored.

Comment From: philwebb

Thanks @Double-Jun, I like the consistency of always using the same method.