gpt4 book ai didi

java - 获取带有泛型信息的类名

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:31:42 26 4
gpt4 key购买 nike

在 java 序列化问题中,我想保存一些类名,但我对泛型类有一些问题。例如:
- 如果我有ArrayList<String> listToDump = new ArrayList<String>();
- 如果我取名字:listToDump.getName();listToDump.getCanonicalName();
- 我会有 java.util.ArrayListArrayList
- 我想要 java.util.ArrayList<String>ArrayList<String>

关于如何做到这一点有什么想法吗?
达米安。

最佳答案

  1. 您描述的情况不可行,您可能会执行 listToDump.getClass().getName()

  2. 由于 type erasure,无法在运行时获取有关泛型类型的信息:

    When a generic type is instantiated, the compiler translates those types by a technique called type erasure — a process where the compiler removes all information related to type parameters and type arguments within a class or method.

  3. 如果您详细描述了您要解决的问题,那么我们可能会建议您一些解决方法甚至解决方案。类型删除应该不是什么大问题,它只是可以改变做一些事情的方式。

关于java - 获取带有泛型信息的类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2630514/

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