Будет ли следующее добавлять obj к словам (изменить: предполагая, что obj является правильным типом, И оператор возвращает логическое значение):
if (words.add(obj)){
System.out.print("success!");
}
Пожалуйста, прочитайте документ, прежде чем задавать такой вопрос. Кстати, когда вы вызываете функцию, будь то в операторе (if, try...), функция все еще вызывается, а тело выполняется, так что да, obj будет добавлен к словам.
Зависит от того, что такое words и что такое obj. На вопрос нельзя ответить как таковой.
Я отредактировал свой пост, этот вопрос предполагает, что obj является правильным типом, а оператор возвращает логическое значение. Извините за неточность и спасибо всем за вашу помощь.
Все еще зависит от типа words. Несмотря на это, чтение JavaDoc соответствующего метода должно дать достаточную ясность в отношении его семантики. Что касается выполнения метода: размещение вызова метода внутри условия if () не влияет на то, как и выполняется ли метод (за исключением таких случаев, как логические операторы короткого замыкания и т. д.).




вы можете сделать это, но функция добавления должна возвращать логическое значение.
На вопрос нельзя ответить, не зная предыдущего кода. Как говорится в коде, если вы добавите obj, он напечатает «успех» на вашем экране, но это «если» не тот, который добавляет его, поэтому мы не можем знать, возвращает ли условное выражение true или false...
Will the following add obj to words (edit: assuming obj is the right type AND the statement returns a boolean value
Предполагая, что код может работать без ошибок (т. е. add() возвращает логическое значение), ваш метод words.add() будет вызываться в операторе if.
Методы, написанные в операторе if, будут вызываться и оцениваться.
Это зависит. Если слова являются набором, который уже содержит равный объект, он не добавит его.