==
сравнивает ссылки на объекты.
.equals()
сравнивает значения String.
Иногда ==
дает иллюзии сравнения значений String, как в следующих случаях:
String a="Test";
String b="Test";
if(a==b) ===> true
Это связано с тем, что при создании любого строкового литерала JVM сначала ищет этот литерал в пуле строк, и если он найдет совпадение, эта же ссылка будет передана новой String. Из-за этого получаем:
(a == b) ===> true
String Pool
b -----------------> "test" <-----------------a
Однако ==
не выполняется в следующем случае:
String a="test";
String b=new String("test");
if (a==b) ===> false
В этом случае для new String("test")
оператор new String будет создан в куче, и эта ссылка будет указана на b
, поэтому b
будет дана ссылка на кучу, а не на String pool.
Теперь a
указывает на String в пуле String, а b
указывает на String в куче. Из-за этого мы получаем:
, если (a == b) ===> false.
String Pool
"test" <-------------------- a
Heap
"test" <-------------------- b
Пока .equals()
всегда сравнивает значение String, поэтому дает true в обоих случаях:
String a="Test";
String b="Test";
if(a.equals(b)) ===> true
String a="test";
String b=new String("test");
if(a.equals(b)) ===> true
Таким образом, использование .equals()
всегда лучше.
Был старый устаревший URL к соединительной линии репозитория. Мне жаль, что ошибка не была немного более описательной. Спасибо парни...., если бы у меня было больше репутации, я предоставил бы Вам обоим точки!
Это обычно - или вирусный сканер прокси / брандмауэр, отклоняющий запросы DAV (PROPFIND не является 'нормальным' запросом HTTP, но используемый с DAV).
Так: проверьте свой и/или вирусный сканер прокси / брандмауэр и настройте их для разрешения запросов DAV.
кроме того, иногда это помогает использовать https вместо http так, чтобы те приложения не могли больше проверять сетевой трафик и вмешиваться в него.
Ответ был то, что svn URL сервера был изменен ранее и затем когда попытка перепроверить его в нем будет ошибка. Прием тогда должен был уничтожить .svn папки, выпадающие новый, и затем скопировать с моими новыми изменениями. Мне жаль, что сообщение об ошибке не было лучше.
Если вы используете субклип, попробуйте изменить клиент интерфейса SVN с JavaHL на SVNKid
Также проверьте, не устанавливался ли mod_security недавно. По крайней мере, в CentOS в его конфигурации по умолчанию нет строк, необходимых для разрешения SVN.
В /etc/httpd/modsecurity.d/modsecurity_crs_30_http_policy.conf
я поместил это в раздел разрешенных методов запроса :
SecRule REQUEST_METHOD "^(PROPFIND|PROPPATCH)$" allow
SecRule REQUEST_METHOD "^(REPORT|OPTIONS)$" allow
SecRule REQUEST_METHOD "^(MKACTIVITY|CHECKOUT)$" allow
SecRule REQUEST_METHOD "^(PUT|DELETE|MERGE)$" allow