Редактор обрабатывает по шаблону для безопасного программирования

Проверьте правильную версию реакции, как в doc :

Если вы используете React Native < v0.40 придерживается v0.8.1 (npm install реактивный-google-signin@0.8 -save).

Если вы используете React Native < v0.47 придерживайтесь v0.10.0 (npm install реактивный-google-signin@0.10 -save).

blockquote>

Следуйте инструкциям по установке: Android и iOS

Проверьте также эту проблему

8
задан Daniel Hiller 17 December 2008 в 12:03
поделиться

2 ответа

Мне нравится иметь как шаблон, "более безопасное" равняется () определению:

 /**
 * Implement equals based on ${cursor}. <br />
 * See {@link #compareTo(Object) compareTo}
 * @see java.lang.Object#equals(java.lang.Object)
 */
public boolean equals(final Object anObject)
{
    boolean res = false;
    if(anObject == null) { return false; }
    if(anObject == this) { return true; }
    if(anObject.getClass() == this.getClass())
    {
        res = this.compareTo(anObject) == 0;
    }
    return res;
}

Убеждаться всегда избежать Eq: равняется переопределениям метода, равняется в суперклассе и может не быть симметричным (EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC), где:

Этот класс определяет, равняется методу, который переопределяет, равняется методу в суперклассе. Оба равняются использованию методов методов instanceof в определении того, равны ли два объекта.

Это чревато опасностью, так как важно, чтобы равнялся методу, симметрично (другими словами, a.equals(b) == b.equals(a)).
Если B подтип A, и Aравняется проверкам метода, что аргумент instanceof A, и B равняется проверкам метода, что аргумент instanceof B, довольно вероятно, что отношение эквивалентности, определенное этими методами, не симметрично.


Это только для реализации классов Comparable и допускает:

  • реализация равняется, который всегда является тем же;
  • все логики сравнения, которые будут расположены в одно место только ( compareTo() функция);
  • соответствие javadoc Comparable#compareTo() просьба гарантировать это (x.compareTo(y)==0) == (x.equals(y)) (настоятельно рекомендуемый, но не строго требуемый, хотя).
3
ответ дан 5 December 2019 в 23:17
поделиться

Не шаблон, но я использую array.clone() вместо System.arraycopy(). Есть ли что-то не так с этим?

Править: Шаблон я использую при реализации декоратора, специально для интерфейса со многими методами:

wrapped.${enclosing_method}(${enclosing_method_arguments})

Это генерирует реализацию существующего метода путем делегирования вызова к перенесенному экземпляру, таким образом предотвращения скопировать/вставить ошибок.

2
ответ дан 5 December 2019 в 23:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: