Возможно, Вы могли провести аналогию со строками и регулярными выражениями? Вы описываете , что Вы ищете и позволяете компилятору выяснить как для себя. Это делает Ваш код намного более простым и более ясным.
Как в стороне: Я нахожу, что самая полезная вещь о сопоставлении с образцом состоит в том, что оно поощряет хорошие привычки. Я имею дело с угловыми случаями первый , и легко проверить, что я покрыл каждый случай.
Это массивы примитивов ( [B == byte []
, [C == char
, [I == int
). [Lx;
- это массив типа класса x
.
Полный список:
[Z = boolean
[B = byte
[S = short
[I = int
[J = long
[F = float
[D = double
[C = char
[L = any non-primitives(Object)
Также см. Javadoc для Class.getName
.
Похоже на массив символов (C) / байтов (B) / int (I).