2017-10-25 17 views
0

最近、そのタイプのパラメータ名を正確に1つの大文字にする必要があります。Java - タイプパラメータの最大数

この場合、タイプパラメータの最大数はありませんか?

上記の最大値は、有効なJava識別子でもある大文字の数に等しいとしますか?

+4

"最近、そのタイプのパラメータ名は正確に1つの大文字にする必要があります。" - それは間違っています。それは規約ですが、要件ではありません。型パラメーターには任意の有効な識別子名を使用できますが、大文字である必要はありません。 – Jesper

+0

あなたは間違って読んでいます。型パラメータには任意の識別子を使用できます。大文字で大文字で表記されていますが、1桁の大文字と1桁の数字が表示されています。しかし、Javaは気にしません。しかし、あなたがコンベンションに従わなければ、あなたのコードを読もうとする人を混乱させます。 – ajb

+0

Javaに型パラメータの数に制限があるかどうかわかりません。しかし、あなたの読者の正気は確実にこれに限度を置いています。私は限界が10以下であると思います。私は、Javaストリームランタイムが5でいくつかのケースを持っていると信じています。 – ajb

答えて

2

慣例は、1つのタイプに1文字を使用することです。しかし、型パラメータは、only by the hard limits of an identifierにバインドされています。つまり、有効なJava識別子でなければなりません。ハードな制限はからしか得られません。

ここでです。慣例を破ることが許容される有効なケースです。あなたは2つの互いに素のタイプを必要とある種の変換をしていた場合は具体的に、バックのJava 7の日で、あなたにこれを指定することができます。

public <DatabaseDataFmt extends DatabaseDTO, 
     ProjectionFmt extends ProjectionDTO, 
     Result> 
    Result transform(DatabaseDataFmt databaseFormat, 
        ProjectionFmt projectionFormat) {} 

を最終的にそれはあなたの識別子で達成したいかに依存します。コンベンションに役立ちますが、のヘルプがない場合は、それに拘束される理由はありません。