相关疑难解决方法(0)

Java的通用类型参数命名约定(带有多个字符)?

在我写的一些接口中,我想用多个字符命名泛型类型参数,以使代码更具可读性.

就像是....

Map<Key,Value>
Run Code Online (Sandbox Code Playgroud)

而不是......

Map<K,V>
Run Code Online (Sandbox Code Playgroud)

但是当涉及到方法时,类型参数看起来像java-classes,这也令人困惑.

public void put(Key key, Value value)
Run Code Online (Sandbox Code Playgroud)

这看起来像Key和Value是类.我发现或想到了一些符号,但没有像Sun的惯例或一般的最佳实践.

我猜测或发现的替代品......

Map<KEY,VALUE>
Map<TKey,TValue>
Run Code Online (Sandbox Code Playgroud)

java generics naming-conventions

117
推荐指数
5
解决办法
5万
查看次数

T扩展SomeClass有什么意义?

与这样的方法声明有什么区别:

public <T extends SomeClass> void doSomething(T obj)
{
    // Do something.
}
Run Code Online (Sandbox Code Playgroud)

还有这个:

public void doSomething(SomeClass obj)
{
    // Do Something.
}
Run Code Online (Sandbox Code Playgroud)

我看到它的方式,它们都指定传入的对象必须是类型的子类SomeClass,那么为什么在这个实例中根本没有使用泛型呢?

java generics

23
推荐指数
1
解决办法
803
查看次数

标签 统计

generics ×2

java ×2

naming-conventions ×1