K - ãã®ãããã§ä¿æãããããŒã®åV - ããããããå€ã®åpublic interface ConcurrentMap<K,V> extends Map<K,V>
Mapã§ãã
ã¡ã¢ãªãŒæŽåæ§å¹æ: ã»ãã®äžŠè¡åŠçã³ã¬ã¯ã·ã§ã³ãšåæ§ããªããžã§ã¯ããããŒãŸãã¯å€ãšããŠConcurrentMapã«é
眮ããåã®ã¹ã¬ããå
ã®ã¢ã¯ã·ã§ã³ã¯ãå¥ã®ã¹ã¬ããå
ã®ãã®ãªããžã§ã¯ããžã®ã¢ã¯ã»ã¹ãŸãã¯ConcurrentMapããã®åé€ã«ç¶ãã¢ã¯ã·ã§ã³ã®åã«çºçããŸãã
ãã®ã€ã³ã¿ãã§ãŒã¹ã¯ãJava Collections Frameworkã®ã¡ã³ããŒã§ãã
| 修食åãšå | ã¡ãœãã | 説æ |
|---|---|---|
default V |
compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction) |
æå®ãããããŒãšçŸåšããããããŠããå€ã«å¯Ÿãããããã³ã°ã®èšç®ã詊ã¿ãŸã(çŸåšã®ãããã³ã°ãååšããªãå Žåã¯
null)ã |
default V |
computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction) |
æå®ãããããŒããŸã å€ã«é¢é£ä»ããããŠããªã(ãŸãã¯
nullã«ããããããŠãã)å Žåãæå®ããããããã³ã°é¢æ°ã䜿çšããŠãã®å€ã®èšç®ã詊è¡ããnullã§ãªãå Žåã¯ããããã®ãããã«å
¥åããŸãã |
default V |
computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction) |
æå®ãããããŒã®å€ãååšããŠããŠnull以å€ã®å ŽåãããŒãšçŸåšããããããŠããå€ããæ°ãããããã³ã°ã®èšç®ã詊ã¿ãŸãã
|
default void |
forEach(BiConsumer<? super K,? super V> action) |
ãã®ãããã®ãã¹ãŠã®ãšã³ããªã®åŠçãå®äºãããã¢ã¯ã·ã§ã³ããäŸå€ãã¹ããŒããããŸã§ãåãšã³ããªã«å¯ŸããŠæå®ãããã¢ã¯ã·ã§ã³ãå®è¡ããŸãã
|
default V |
getOrDefault(Object key, V defaultValue) |
æå®ãããããŒãããããããŠããå€ãè¿ããŸãããã®ãããã«ãã®ããŒã®ãããã³ã°ãå«ãŸããŠããªãå Žåã¯
defaultValueãè¿ããŸãã |
default V |
merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction) |
æå®ãããããŒããŸã å€ãšé¢é£ä»ããããŠããªããnullãšé¢é£ä»ããããŠããå Žåãæå®ãããnull以å€ã®å€ã«é¢é£ä»ããŸãã
|
V |
putIfAbsent(K key, V value) |
æå®ãããããŒããŸã å€ãšé¢é£ä»ããããŠããªãå Žåã¯ãæå®ãããå€ã«é¢é£ä»ããŸãã
|
boolean |
remove(Object key, Object value) |
æå®ãããå€ã«ããŒãçŸåšãããã³ã°ãããŠããå Žåã«ã®ã¿ããã®ããŒã®ãšã³ããªãåé€ããŸãã
|
V |
replace(K key, V value) |
ããŒãå€ã«çŸåšãããã³ã°ãããŠããå Žåã«ã®ã¿ããã®ããŒã®ãšã³ããªã眮æããŸãã
|
boolean |
replace(K key, V oldValue, V newValue) |
æå®ãããå€ã«ããŒãçŸåšãããã³ã°ãããŠããå Žåã«ã®ã¿ããã®ããŒã®ãšã³ããªã眮æããŸãã
|
default void |
replaceAll(BiFunction<? super K,? super V,? extends V> function) |
ãã¹ãŠã®ãšã³ããªãåŠçããããããŸãã¯é¢æ°ãäŸå€ãã¹ããŒãããŸã§ãåãšã³ããªã®å€ãããã®ãšã³ããªã§æå®ããã颿°ãåŒã³åºããçµæã§çœ®æããŸãã
|
default V getOrDefault(Object key, V defaultValue)
defaultValueãè¿ããŸããgetOrDefaultãã€ã³ã¿ãã§ãŒã¹Map<K,V>get()ããnullãè¿ãããå Žåã¯ããŒãååšããªãããšã瀺ããšã¿ãªãããŸãã nullå€ããµããŒãããå®è£
ã¯ããã®ããã©ã«ãå®è£
ããªãŒããŒã©ã€ãããå¿
èŠããããŸãã key - é¢é£ä»ããããå€ãè¿ãããããŒdefaultValue - ããŒã®ããã©ã«ãã»ãããã³ã°defaultValueClassCastException - ãã®ããŒããã®ãããã«é©ããªãåã®å Žå(ãªãã·ã§ã³)NullPointerException - æå®ãããããŒãnullã§ããããã®ããããnullããŒãèš±å¯ããªãå Žå(ãªãã·ã§ã³)default void forEach(BiConsumer<? super K,? super V> action)
forEachãã€ã³ã¿ãã§ãŒã¹Map<K,V>mapã§ã¯ãããã©ã«ãå®è£
ã¯æ¬¡ãšåçã§ãã
for ((Map.Entry<K, V> entry : map.entrySet())
action.accept(entry.getKey(), entry.getValue());
getKey()ãŸãã¯getValue()ã«ãã£ãŠã¹ããŒãããIllegalStateExceptionã¯ãšã³ããªãåé€ãããåŠçã§ããªãããšã瀺ããšã¿ãªãããŸãã ãªãã¬ãŒã·ã§ã³ã¯åŸç¶ã®ãšã³ããªã§ç¶è¡ãããŸãã action - åãšã³ããªã«å¯ŸããŠå®è¡ãããã¢ã¯ã·ã§ã³NullPointerException - æå®ãããã¢ã¯ã·ã§ã³ãnullã§ããå ŽåV putIfAbsent(K key, V value)
if (!map.containsKey(key))
return map.put(key, value);
else
return map.get(key);
ãã ããã¢ã¯ã·ã§ã³ãååçã«å®è¡ãããç¹ãç°ãªããŸããputIfAbsentãã€ã³ã¿ãã§ãŒã¹Map<K,V>Mapã§æå®ãããäžé©åãªããã©ã«ããæå³çã«åæœè±¡åããŸããkey - æå®ãããå€ãé¢é£ä»ããããããŒvalue - æå®ãããããŒã«é¢é£ä»ããããå€nullã (ãŸããå®è£
ãnullå€ããµããŒãããŠããå Žåãæ»ãå€nullã¯ã以åã«ãããã§ããŒãšnullãé¢é£ä»ããããŠããããšã瀺ãå Žåãããã) UnsupportedOperationException - putãªãã¬ãŒã·ã§ã³ããã®ãããã§ãµããŒããããªãå ŽåClassCastException - æå®ãããããŒãŸãã¯å€ã®ã¯ã©ã¹ãåå ã§ããã®ãããã«æ ŒçŽã§ããªãå ŽåNullPointerException - ãã®ããããnullããŒãnullå€ãèš±å¯ããªããšãã«ãæå®ãããããŒãŸãã¯å€ãnullã®å ŽåIllegalArgumentException - æå®ãããããŒãŸãã¯å€ã®ããããããã£ãåå ã§ããã®ãããã«æ ŒçŽã§ããªãå Žåboolean remove(Object key, Object value)
if (map.containsKey(key) && Objects.equals(map.get(key), value)) {
map.remove(key);
return true;
} else
return false;
ãã ããã¢ã¯ã·ã§ã³ãååçã«å®è¡ãããç¹ãç°ãªããŸããremoveãã€ã³ã¿ãã§ãŒã¹Map<K,V>Mapã§æå®ãããäžé©åãªããã©ã«ããæå³çã«åæœè±¡åããŸããkey - æå®ãããå€ãé¢é£ä»ããããããŒvalue - æå®ãããããŒã«é¢é£ä»ããããŠãããšäºæ³ãããå€trueUnsupportedOperationException - removeãªãã¬ãŒã·ã§ã³ããã®ãããã§ãµããŒããããªãå ŽåClassCastException - ããŒãŸãã¯å€ããã®ãããã«é©ããªãåã®å Žå(çç¥å¯èœ)NullPointerException - æå®ãããããŒãŸãã¯å€ãnullã§ããããã€ãã®ããããnullã®ããŒãŸãã¯å€ãèš±å¯ããªãå Žå(çç¥å¯èœ)boolean replace(K key, V oldValue, V newValue)
if (map.containsKey(key) && Objects.equals(map.get(key), oldValue)) {
map.put(key, newValue);
return true;
} else
return false;
ãã ããã¢ã¯ã·ã§ã³ãååçã«å®è¡ãããç¹ãç°ãªããŸããreplaceãã€ã³ã¿ãã§ãŒã¹Map<K,V>Mapã§æå®ãããäžé©åãªããã©ã«ããæå³çã«åæœè±¡åããŸããkey - æå®ãããå€ãé¢é£ä»ããããããŒoldValue - æå®ãããããŒã«é¢é£ä»ããããŠãããšäºæ³ãããå€newValue - æå®ãããããŒã«é¢é£ä»ããããå€trueUnsupportedOperationException - putãªãã¬ãŒã·ã§ã³ããã®ãããã§ãµããŒããããªãå ŽåClassCastException - æå®ãããããŒãŸãã¯å€ã®ã¯ã©ã¹ãåå ã§ããã®ãããã«ãããæ ŒçŽã§ããªãå ŽåNullPointerException - æå®ãããããŒãŸãã¯å€ãnullã§ããããã®ããããnullã®ããŒãŸãã¯å€ãèš±å¯ããªãå ŽåIllegalArgumentException - æå®ãããããŒãŸãã¯å€ã®ããããããã£ãåå ã§ãããããã®ãããã«æ ŒçŽã§ããªãå ŽåV replace(K key, V value)
if (map.containsKey(key)) {
return map.put(key, value);
} else
return null;
ãã ããã¢ã¯ã·ã§ã³ãååçã«å®è¡ãããç¹ãç°ãªããŸããreplaceãã€ã³ã¿ãã§ãŒã¹Map<K,V>Mapã§æå®ãããäžé©åãªããã©ã«ããæå³çã«åæœè±¡åããŸããkey - æå®ãããå€ãé¢é£ä»ããããããŒvalue - æå®ãããããŒã«é¢é£ä»ããããå€nullã (ãŸããå®è£
ãnullå€ããµããŒãããŠããå Žåãæ»ãå€nullã¯ã以åã«ãããã§ããŒãšnullãé¢é£ä»ããããŠããããšã瀺ãå Žåãããã) UnsupportedOperationException - putãªãã¬ãŒã·ã§ã³ããã®ãããã§ãµããŒããããªãå ŽåClassCastException - æå®ãããããŒãŸãã¯å€ã®ã¯ã©ã¹ãåå ã§ããã®ãããã«æ ŒçŽã§ããªãå ŽåNullPointerException - ãã®ããããnullããŒãnullå€ãèš±å¯ããªããšãã«ãæå®ãããããŒãŸãã¯å€ãnullã®å ŽåIllegalArgumentException - æå®ãããããŒãŸãã¯å€ã®ããããããã£ãåå ã§ããã®ãããã«æ ŒçŽã§ããªãå Žådefault void replaceAll(BiFunction<? super K,? super V,? extends V> function)
replaceAllãã€ã³ã¿ãã§ãŒã¹Map<K,V>ãã®mapã§ã¯ãããã©ã«ãå®è£
ã¯æ¬¡ãšåçã§ãã
for ((Map.Entry<K, V> entry : map.entrySet())
do {
K k = entry.getKey();
V v = entry.getValue();
} while(!replace(k, v, function.apply(k, v)));
ããã©ã«ãå®è£
ã¯ãè€æ°ã®ã¹ã¬ãããæŽæ°ã詊è¡ãããšãã«ããããã®ã¹ããããå詊è¡ããå¯èœæ§ããããŸããããã«ã¯ãç¹å®ã®ããŒã«é¢ããŠãã®é¢æ°ãç¹°ãè¿ãåŒã³åºãããå¯èœæ§ãå«ãŸããŸãã
ãã®å®è£
ã§ã¯ãConcurrentMapã«nullå€ãå«ãŸããããšã¯ãªããget()ããnullãè¿ãããå Žåã¯ããŒãååšããªãããšã瀺ããšã¿ãªãããŸãã nullå€ããµããŒãããå®è£
ã¯ããã®ããã©ã«ãå®è£
ããªãŒããŒã©ã€ãããå¿
èŠããããŸãã
function - åãšã³ããªã«é©çšãã颿°UnsupportedOperationException - setãªãã¬ãŒã·ã§ã³ããã®ãããã®ãšã³ããªã»ã»ããã»ã€ãã¬ãŒã¿ã§ãµããŒããããªãå ŽåãNullPointerException - 颿°ãŸãã¯çœ®æå€ãnullã§ããããã®ãããã§nullã®ããŒãŸãã¯å€ãèš±å¯ãããªãå Žå(ãªãã·ã§ã³)ClassCastException - 眮æå€ããã®ãããã«é©ããªãåã§ããå Žå(ãªãã·ã§ã³)IllegalArgumentException - 眮æå€ã®ãªãããã®ããããã£ãåå ã§ãããããã®ãããã«æ ŒçŽã§ããªãå Žå(ãªãã·ã§ã³)default V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
nullã«ããããããŠãã)å Žåãæå®ããããããã³ã°é¢æ°ã䜿çšããŠãã®å€ã®èšç®ã詊è¡ããnullã§ãªãå Žåã¯ããããã®ãããã«å
¥åããŸãã
颿°ãnullãè¿ããå Žåããããã³ã°ã¯èšé²ãããŸããã 颿°èªäœã(éãã§ãã¯)äŸå€ãã¹ããŒããå Žåããã®äŸå€ã¯åã¹ããŒããããããã³ã°ã¯èšé²ãããŸããã ãã£ãšãäžè¬çãªçšéã¯ã次ã®ããã«åæã®ããããããå€ãŸãã¯ã¡ã¢åãããçµæãšããŠæ©èœããæ°ãããªããžã§ã¯ããæ§ç¯ããããšã§ãã
map.computeIfAbsent(key, k -> new Value(f(k)));
ãŸãã¯ã1ã€ã®ããŒã§è€æ°ã®å€ããµããŒãããè€æ°å€ãããMap<K,Collection<V>>ãå®è£
ããããšã§ãã
map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);
computeIfAbsentãã€ã³ã¿ãã§ãŒã¹Map<K,V>mapã®æ¬¡ã®ã¹ããããšåçã§ããããã®åŸçŸåšã®å€ãè¿ããŸããååšããªãå Žåã¯nullãè¿ããŸãã
if (map.get(key) == null) {
V newValue = mappingFunction.apply(key);
if (newValue != null)
return map.putIfAbsent(key, newValue);
}
ããã©ã«ãå®è£
ã¯ãè€æ°ã®ã¹ã¬ãããæŽæ°ã詊è¡ãããšãã«ããããã®ã¹ããããå詊è¡ããå¯èœæ§ããããŸããããã«ã¯ããããã³ã°é¢æ°ãè€æ°ååŒã³åºãããå¯èœæ§ãå«ãŸããŸãã
ãã®å®è£
ã§ã¯ãConcurrentMapã«nullå€ãå«ãŸããããšã¯ãªããget()ããnullãè¿ãããå Žåã¯ããŒãååšããªãããšã瀺ããšã¿ãªãããŸãã nullå€ããµããŒãããå®è£
ã¯ããã®ããã©ã«ãå®è£
ããªãŒããŒã©ã€ãããå¿
èŠããããŸãã
key - æå®ãããå€ãé¢é£ä»ããããããŒmappingFunction - å€ãèšç®ããããã®é¢æ°UnsupportedOperationException - putãªãã¬ãŒã·ã§ã³ããã®ãããã§ãµããŒããããªãå Žå(ãªãã·ã§ã³)ClassCastException - æå®ãããããŒãŸãã¯å€ã®ã¯ã©ã¹ãåå ã§ãããããã®ãããã«æ ŒçŽã§ããªãå Žå(ãªãã·ã§ã³)NullPointerException - æå®ãããããŒãnullã§ããããã®ããããnullããŒããµããŒãããªãå ŽåããŸãã¯mappingFunctionãnullã§ããå Žådefault V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
颿°ãnullãè¿ããå Žåããããã³ã°ã¯åé€ãããŸãã 颿°èªäœã(éãã§ãã¯)äŸå€ãã¹ããŒããå Žåããã®äŸå€ã¯åã¹ããŒãããçŸåšã®ãããã³ã°ã¯å€æŽãããŸããã
computeIfPresentãã€ã³ã¿ãã§ãŒã¹Map<K,V>mapã®æ¬¡ã®ã¹ãããã®å®è¡ãšåçã§ããããã®åŸçŸåšã®å€ãè¿ããŸããçŸåšååšããªãå Žåã¯nullãè¿ããŸãã
if (map.get(key) != null) {
V oldValue = map.get(key);
V newValue = remappingFunction.apply(key, oldValue);
if (newValue != null)
map.replace(key, oldValue, newValue);
else
map.remove(key, oldValue);
}
ããã©ã«ãå®è£
ã¯ãè€æ°ã®ã¹ã¬ãããæŽæ°ã詊è¡ãããšãã«ããããã®ã¹ããããå詊è¡ããå¯èœæ§ããããŸããããã«ã¯ãåãããã³ã°é¢æ°ãè€æ°ååŒã³åºãããå¯èœæ§ãå«ãŸããŸãã
ãã®å®è£
ã§ã¯ãConcurrentMapã«nullå€ãå«ãŸããããšã¯ãªããget()ããnullãè¿ãããå Žåã¯ããŒãååšããªãããšã瀺ããšã¿ãªãããŸãã nullå€ããµããŒãããå®è£
ã¯ããã®ããã©ã«ãå®è£
ããªãŒããŒã©ã€ãããå¿
èŠããããŸãã
key - æå®ãããå€ãé¢é£ä»ããããããŒremappingFunction - å€ãèšç®ããããã®é¢æ°UnsupportedOperationException - putãªãã¬ãŒã·ã§ã³ããã®ãããã§ãµããŒããããªãå Žå(ãªãã·ã§ã³)ClassCastException - æå®ãããããŒãŸãã¯å€ã®ã¯ã©ã¹ãåå ã§ãããããã®ãããã«æ ŒçŽã§ããªãå Žå(ãªãã·ã§ã³)NullPointerException - æå®ãããããŒãnullã§ããããã®ããããnullããŒããµããŒãããªãå ŽåããŸãã¯remappingFunctionãnullã§ããå Žådefault V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
null)ã ããšãã°ã次ã®ããã«ãå€ã®ãããã³ã°ã«String msgãäœæãŸãã¯è¿œå ããŸãã
map.compute(key, (k, v) -> (v == null) ? msg : v.concat(msg))
(ãã®ãããªç®çã§äœ¿çšããmerge()ã¡ãœããã¯ãå€ãã®å ŽåãããåçŽã§ãã)
颿°ãnullãè¿ããå Žåããããã³ã°ã¯åé€ãããŸã(æåããååšããªãå Žåã¯ãååšããªããŸãŸã§ã)ã 颿°èªäœã(éãã§ãã¯)äŸå€ãã¹ããŒããå Žåããã®äŸå€ã¯åã¹ããŒãããçŸåšã®ãããã³ã°ã¯å€æŽãããŸããã
computeãã€ã³ã¿ãã§ãŒã¹Map<K,V>mapã®æ¬¡ã®ã¹ãããã®å®è¡ãšåçã§ããããã®åŸçŸåšã®å€ãè¿ããŸããååšããªãå Žåã¯nullãè¿ããŸãã
V oldValue = map.get(key);
V newValue = remappingFunction.apply(key, oldValue);
if (oldValue != null ) {
if (newValue != null)
map.replace(key, oldValue, newValue);
else
map.remove(key, oldValue);
} else {
if (newValue != null)
map.putIfAbsent(key, newValue);
else
return null;
}
ããã©ã«ãå®è£
ã¯ãè€æ°ã®ã¹ã¬ãããæŽæ°ã詊è¡ãããšãã«ããããã®ã¹ããããå詊è¡ããå¯èœæ§ããããŸããããã«ã¯ãåãããã³ã°é¢æ°ãè€æ°ååŒã³åºãããå¯èœæ§ãå«ãŸããŸãã
ãã®å®è£
ã§ã¯ãConcurrentMapã«nullå€ãå«ãŸããããšã¯ãªããget()ããnullãè¿ãããå Žåã¯ããŒãååšããªãããšã瀺ããšã¿ãªãããŸãã nullå€ããµããŒãããå®è£
ã¯ããã®ããã©ã«ãå®è£
ããªãŒããŒã©ã€ãããå¿
èŠããããŸãã
key - æå®ãããå€ãé¢é£ä»ããããããŒremappingFunction - å€ãèšç®ããããã®é¢æ°UnsupportedOperationException - putãªãã¬ãŒã·ã§ã³ããã®ãããã§ãµããŒããããªãå Žå(ãªãã·ã§ã³)ClassCastException - æå®ãããããŒãŸãã¯å€ã®ã¯ã©ã¹ãåå ã§ãããããã®ãããã«æ ŒçŽã§ããªãå Žå(ãªãã·ã§ã³)NullPointerException - æå®ãããããŒãnullã§ããããã®ããããnullããŒããµããŒãããªãå ŽåããŸãã¯remappingFunctionãnullã§ããå Žådefault V merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)
nullã®å Žåã¯åé€ããŸãã ãã®ã¡ãœããã¯ã1ã€ã®ããŒã«å¯Ÿããè€æ°ã®ããããããå€ãçµåãããšãã«äœ¿çšã§ããŸãã ããšãã°ã次ã®ããã«ãå€ã®ãããã³ã°ã«String msgãäœæãŸãã¯è¿œå ããŸãã
map.merge(key, msg, String::concat)
颿°ãnullãè¿ããå Žåããããã³ã°ã¯åé€ãããŸãã 颿°èªäœã(éãã§ãã¯)äŸå€ãã¹ããŒããå Žåããã®äŸå€ã¯åã¹ããŒãããçŸåšã®ãããã³ã°ã¯å€æŽãããŸããã
mergeãã€ã³ã¿ãã§ãŒã¹Map<K,V>mapã®æ¬¡ã®ã¹ãããã®å®è¡ãšåçã§ããããã®åŸçŸåšã®å€ãè¿ããŸããååšããªãå Žåã¯nullãè¿ããŸãã
V oldValue = map.get(key);
V newValue = (oldValue == null) ? value :
remappingFunction.apply(oldValue, value);
if (newValue == null)
map.remove(key);
else
map.put(key, newValue);
ããã©ã«ãå®è£ ã¯ãè€æ°ã®ã¹ã¬ãããæŽæ°ã詊è¡ãããšãã«ããããã®ã¹ããããå詊è¡ããå¯èœæ§ããããŸããããã«ã¯ãåãããã³ã°é¢æ°ãè€æ°ååŒã³åºãããå¯èœæ§ãå«ãŸããŸãã
ãã®å®è£
ã§ã¯ãConcurrentMapã«nullå€ãå«ãŸããããšã¯ãªããget()ããnullãè¿ãããå Žåã¯ããŒãååšããªãããšã瀺ããšã¿ãªãããŸãã nullå€ããµããŒãããå®è£
ã¯ããã®ããã©ã«ãå®è£
ããªãŒããŒã©ã€ãããå¿
èŠããããŸãã
key - çµæå€ãé¢é£ä»ããããããŒvalue - ããŒã«é¢é£ä»ããããæ¢åã®å€ã«ããŒãžãããnull以å€ã®å€ãæ¢åã®å€ããªãå ŽåããŸãã¯ããŒã«nullå€ãé¢é£ä»ããããŠããå Žåã¯ãããŒã«é¢é£ä»ããããnull以å€ã®å€remappingFunction - å€ãååšããå Žåã«å€ãåèšç®ããããã®é¢æ°UnsupportedOperationException - putãªãã¬ãŒã·ã§ã³ããã®ãããã§ãµããŒããããªãå Žå(ãªãã·ã§ã³)ClassCastException - æå®ãããããŒãŸãã¯å€ã®ã¯ã©ã¹ãåå ã§ãããããã®ãããã«æ ŒçŽã§ããªãå Žå(ãªãã·ã§ã³)NullPointerException - æå®ãããããŒãnullã§ããããã®ããããnullããŒããµããŒãããªãå Žåããããã¯å€ãŸãã¯remappingFunctionãnullã§ããå Žå ãã°ãŸãã¯æ©èœãéä¿¡
詳现ãªAPIãªãã¡ã¬ã³ã¹ããã³éçºè
ããã¥ã¡ã³ãã«ã€ããŠã¯ãJava SEã®ããã¥ã¡ã³ããåç
§ããŠãã ããã ãã®ããã¥ã¡ã³ãã«ã¯ãæŠå¿µçãªæŠèŠãçšèªã®å®çŸ©ãåé¿æ¹æ³ãæå¹ãªã³ãŒãäŸãªã©ã®ãéçºè
ã察象ã«ãããã詳现ãªèª¬æãå«ãŸããŠããŸãã
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyãåç
§ããŠãã ããã