Java имеет пул строк, в котором Java управляет распределением памяти для объектов String. См. String Pools в Java
Когда вы проверяете (сравниваете) два объекта с помощью оператора ==
, он сравнивает равенство адресов в пуле строк. Если два объекта String имеют одинаковые адреса, то он возвращает true
, в противном случае false
. Но если вы хотите сравнить содержимое двух объектов String, вы должны переопределить метод equals
.
equals
- фактически метод класса Object, но он переопределяется в класс String и дается новое определение, которое сравнивает содержимое объекта.
Example:
stringObjectOne.equals(stringObjectTwo);
Но помните, что это относится к случаю String. Если вы хотите сравнить регистр без учета регистра, вы должны пойти для метода equalsIgnoreCase класса String.
Давайте посмотрим:
String one = "HELLO";
String two = "HELLO";
String three = new String("HELLO");
String four = "hello";
one == two; // TRUE
one == three; // FALSE
one == four; // FALSE
one.equals(two); // TRUE
one.equals(three); // TRUE
one.equals(four); // FALSE
one.equalsIgnoreCase(four); // TRUE
Вы можете попробовать использовать getuseravailability, который, если он будет работать, будет самым эффективным способом для многих пользователей, см. TimeZone и Рабочие часы для пользователей через EWS . Или попробуйте что-нибудь подобное http://gsexdev.blogspot.com.au/2015/11/finding-timezone-being-used-in-mailbox.html
Пользовательские TZ и рабочие дни хранятся как скрытое сообщение в папке «Календарь» - вы можете видеть данные в OutlookSpy - перейдите в папку «Календарь», нажмите кнопку «IMAPIFolder», перейдите в «Связанное содержимое», дважды щелкните по строке с помощью PR_MESSAGE_CLASS == "IPM.Configuration.WorkHours"
, посмотрите на свойство потока PR_ROAMING_XMLSTREAM
в окне IMessage (нажмите кнопку «...» рядом с полем «Значение»).
I не думайте, что вы сможете получить скрытый элемент из общей папки, принадлежащей другому пользователю, используя объектную модель Outlook. Вы можете использовать Extended MAPI (C ++ или Delphi) или EWS. Если опция Redemption является опцией, она явно предоставляет свойство RDOExchangeMailbox.CalendarOptions .