gpt4 book ai didi

java - 为什么java在将字符串的arraylist对象传递给泛型方法时推断可序列化

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:06:02 25 4
gpt4 key购买 nike

  1. static <T> T pick(T a1, T a2) { return a2; }
  2. Serializable s = pick("d", new ArrayList<String>());

如果我正在引用 String 或任何其他类型。编译器抛出错误。

你能帮我理解为什么 java 将它推断为 Serializable 吗?

最佳答案

  • 作为参数a1 ,你正在传递 "d"类型 String .
  • 作为参数a2 ,你正在传递 new ArrayList<String>()类型 ArrayList<String>

String 和 ArrayList 最接近的公共(public)父类(super class)型是 Serializable .如果您这样写,它也会起作用:

Object s = pick("d", new ArrayList<String>());

关于java - 为什么java在将字符串的arraylist对象传递给泛型方法时推断可序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47937396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com