Как я могу получить замороженные столбцы jqgrid для работы с переносом слов на

Как упоминалось в этом ответе , при выборе того, какой перегруженный метод следует использовать, следуют правила.

Цитировать:

  1. Примитивное расширение использует наименьший аргумент метода
  2. Тип обложки не может быть расширен до другого типа Wrapper
  3. Вы можете вставить из int в Integer и расширить до Object, но не до Long
  4. Расширение бьет Бокс, Бокс побеждает Вар-арг.
  5. Вы можете вставить и затем Widen (Int может стать объектом через Integer)
  6. Вы не можете Widen, а затем Box (
  7. Вы не можете комбинировать var-args с расширением расширения и .
blockquote>

(Давайте переопределим правило 1 следующим образом: «Примитивное расширение использует максимально возможный аргумент метода .»)

Таким образом, имея в виду эти правила, мы можем получить идея о том, что здесь происходит:

Согласно правилу номер один, примитивное расширение использует максимально возможный аргумент метода , Поскольку int представляет нечетное число (например, 1), а double представляется десятичным числом с точностью более 32 байт, чем число float (например, 1.0), мы можем сказать, что int s «меньше» или «меньше» double s, и по этой логике int s может быть «продвинуто» до double s, а double s может быть " demoted "на int s.

Проще говоря, примитив, который может быть расширен до другого примитива (например, int -> float -> double), является более конкретным , чем другой. Например, int является более конкретным , чем double, потому что 1 может быть повышен до 1.0.

Если вы не передали аргументы этим перегруженным vararg методы с тем же именем, так как возврат фактически тот же (0 и 0.0 соответственно), компилятор решил использовать метод, который принимает vararg типа int, поскольку он более конкретный .

Итак, когда вы ввели те же методы, что и в int s и boolean s (типы, которые не могут быть расширены друг к другу) соответственно, компилятор теперь не может выбрать метод для использования, поскольку int s не может «продвигаться» или «понижаться в должности» подобно int s, float s и double s. Таким образом, это вызовет ошибку компиляции.

Надеюсь, это поможет вам понять, что происходит.

10
задан Community 23 May 2017 в 12:24
поделиться