Пул String (ака interning ) и Целочисленный пул размывает разницу и может позволить вам использовать ==
для объектов в некоторых случаях вместо .equals
Это может дать вам большую производительность (?) за счет большей сложности.
Например:
assert "ab" == "a" + "b";
Integer i = 1;
Integer j = i;
assert i == j;
Компромисс сложности: вас может удивить следующее:
assert new String("a") != new String("a");
Integer i = 128;
Integer j = 128;
assert i != j;
Я советую вам держаться подальше от такой микро-оптимизации, а всегда использовать .equals
для объектов, а ==
для примитивов:
assert (new String("a")).equals(new String("a"));
Integer i = 128;
Integer j = 128;
assert i.equals(j);
Вы ищете отказ от авторизации:
Вы можете отменить авторизацию приложения или отменить определенные расширенные разрешения от имени пользователя, отправив запрос HTTP DELETE в PROFILE_ID / разрешения с помощью пользователь access_token для этого приложения.
permission - разрешение, которое вы хотите отменить. Если вы не укажете разрешение, это полностью отменяет действие приложения.
blockquote>Чтобы выполнить этот запрос, выполните следующие действия:
https://graph.facebook.com/me/permissions?method=delete&access_token=...
авторизованный он не будет отображаться в списке пользовательских приложений.
Реальные пользователи «удаляют» себя из вашего приложения, когда они удаляют ваше приложение из своей учетной записи, вам ничего не нужно делать.
Если вы хотите узнать, когда пользователи деактивируют ваше приложение например, вы можете указать Deauthorize Callback URL в настройках вашего приложения. Как описано в документах в https://developers.facebook.com/docs/authentication/ :
После удаления приложения мы отправим запрос HTTP POST, содержащий single parameter, signed_request, который после декодирования даст объект JSON, содержащий user_id пользователя, который только отменил авторизацию вашего приложения. Вы не получите токен доступа пользователя в этом запросе, и все существующие токены доступа пользователя, которые ранее были выданы от имени этого пользователя, станут недействительными.
blockquote>UPDATE: для удаления собственного приложения из авторизованные приложения пользователя, выдайте HTTP DELETE на
https://graph.facebook.com/[userid]/permissions?access_token=...
в соответствии с https://developers.facebook.com/docs/reference/api/user/ .Обычно API-интерфейс графика звонки также поддерживают выполнение HTTP POST с дополнительным параметром,
method=DELETE
, если вызовы DELETE невозможны / поддерживаются.