[ https://issues.apache.org/jira/browse/KAFKA-10534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
linenwei updated KAFKA-10534: ----------------------------- Flags: Patch Description: Source Code: {code:java} @SuppressWarnings("unchecked") public AbstractConfig(ConfigDef definition, Map<?, ?> originals, Map<String, ?> configProviderProps, boolean doLog){ /* check that all the keys are really strings */ for (Map.Entry<?, ?> entry : originals.entrySet()) if (!(entry.getKey() instanceof String)) throw new ConfigException(entry.getKey().toString(), entry.getValue(), "Key must be a string."); {code} In source code, I find that originals map key {color:#FF0000}must be a string{color}. From my point of view, why not use Map<String, ?> originals to replace Map<?, ?> originals? thus will not need to do a judgement for the key type. I'm not sure if I've thought about it, but if there are other reasons for doing this, I'd love to know why. was: {code:java} @SuppressWarnings("unchecked") public AbstractConfig(ConfigDef definition, Map<?, ?> originals, Map<String, ?> configProviderProps, boolean doLog){ /* check that all the keys are really strings */ for (Map.Entry<?, ?> entry : originals.entrySet()) if (!(entry.getKey() instanceof String)) throw new ConfigException(entry.getKey().toString(), entry.getValue(), "Key must be a string."); {code} > Modify the originals parameter type of the AbstractConfig class to avoid > redundant judgments in the code > -------------------------------------------------------------------------------------------------------- > > Key: KAFKA-10534 > URL: https://issues.apache.org/jira/browse/KAFKA-10534 > Project: Kafka > Issue Type: Improvement > Components: clients > Affects Versions: 2.6.0 > Reporter: linenwei > Priority: Trivial > > Source Code: > {code:java} > @SuppressWarnings("unchecked") > public AbstractConfig(ConfigDef definition, Map<?, ?> originals, > Map<String, ?> configProviderProps, boolean doLog){ > /* check that all the keys are really strings */ > for (Map.Entry<?, ?> entry : originals.entrySet()) > if (!(entry.getKey() instanceof String)) > throw new ConfigException(entry.getKey().toString(), > entry.getValue(), "Key must be a string."); > {code} > In source code, I find that originals map key {color:#FF0000}must be a > string{color}. From my point of view, why not use Map<String, ?> originals > to replace Map<?, ?> originals? thus will not need to do a judgement for the > key type. > I'm not sure if I've thought about it, but if there are other reasons for > doing this, I'd love to know why. > -- This message was sent by Atlassian Jira (v8.3.4#803005)