Оператор ==
проверяет, указывают ли две ссылки на один и тот же объект или нет. .equals()
проверьте фактическое содержимое строки (значение).
Обратите внимание, что метод .equals()
принадлежит классу Object
(суперкласс всех классов). Вам необходимо переопределить его в соответствии с вашим требованием к классу, но для String оно уже реализовано и проверяет, имеет ли две строки одно и то же значение.
String s1 = "Stack Overflow";
String s2 = "Stack Overflow";
s1 == s2; //true
s1.equals(s2); //true
Причина: строка литералы, созданные без нуля, хранятся в пуле строк в области перментонов кучи. Таким образом, оба s1 и s2 указывают на один и тот же объект в пуле. String s1 = new String("Stack Overflow");
String s2 = new String("Stack Overflow");
s1 == s2; //false
s1.equals(s2); //true
Причина. Если вы создаете объект String с использованием ключевого слова new
, ему выделяется отдельное пространство в куче. Существует обстоятельство, при котором требуется объявить его окончательным - иначе это приведет к ошибке компиляции -, а именно передать их в анонимные классы. Основной пример:
public FileFilter createFileExtensionFilter(final String extension) {
FileFilter fileFilter = new FileFilter() {
public boolean accept(File pathname) {
return pathname.getName().endsWith(extension);
}
};
// What would happen when it's allowed to change extension here?
// extension = "foo";
return fileFilter;
}
Удаление модификатора final
приведет к ошибке компиляции, поскольку больше не гарантируется, что значение является постоянной времени выполнения. Изменение значения вне анонимного класса приведет к тому, что экземпляр анонимного класса будет вести себя иначе после момента создания.
К сожалению, в версиях ColdFusion до CF9 нет. Тем не менее, что вы можете сделать, это сопоставить UDF в cflog:
<cffunction name="doCFLog">
<cflog attributeCollection="#arguments#">
</cffunction>
внутри вашего cfscript вызвать функцию doCFLog с теми же атрибутами, как вы бы cflog
, например. DOCFLog (text = 'sometext', type = 'warning', приложение = 'yes', file = 'mylog');
Примечание: его не рекомендуется называть методы/udf etc теми же именами, что и существующую функцию или тэг, следовательно, не вызывать функцию «cflog» или «log»
-121--2387541-Закон Брюса о Google - неважно, как долго вы будете бороться, через 1 минуту после публикации вашего вопроса Google наконец предложит ответ.
function(event, ui) {
var index = jQuery(this).find("h3").index(ui.newHeader[0]);
alert('bob ' + index);
}})});
Ну, может, это поможет кому-то еще.
Из документации JQuery UI, доступной на веб-сайте JQuery UI :
//getter
var active = $('.selector').accordion('option', 'active');
или в вашем случае
var active = jQuery("#menu_div").accordion('option', 'active');