gpt4 book ai didi

java - 计算类实例时将类作为参数

转载 作者:行者123 更新时间:2023-12-02 06:18:29 26 4
gpt4 key购买 nike

我有一个带有方法 add 的类 Counter,该方法将在创建时对任何类的实例进行计数,但我得到“Counter 类型中的方法 add(Class) 不适用于参数 (MyClass)”,我该如何修复它?我应该输入什么而不是 Class<?> c

public class Counter
{
static Map<String, Integer> map = new HashMap<String, Integer>();

public static void add(Class<?> c)
{
String name = c.getClass().getSimpleName();
int count = list.containsKey(name) ? map.get(name) : 0;
map.put(name, count + 1);
}
}

public class MyClass
{
public MyClass()
{
Counter.add(this);
}

最佳答案

我同意@Rohit Jain 的观点,它应该是Object。不过,我想建议 add() 方法的参数化版本:

public static <T> add(T obj) {
Class<?> clazz = obj.getClass();
// your implementation
}

参数化版本看起来更好。

关于java - 计算类实例时将类作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21240740/

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