Кстати, помните, что если строка равна null, вызов:
int i = Integer.parseInt(null);
выдает NumberFormatException, а не исключение NullPointerException.
Нет. Оператор присваивания (=
) является зарезервированным словом. Также ниже:
_: = => & lt; - & lt ;: & lt;%>: # @
blockquote>Для получения более полного списка см. § 1.1 . Дополнительная информация о
=
описана в§ 6.12.4
.Так что да, это не вызов метода.
Небольшое дополнение к ответу Жатина. Существует один случай, когда =
можно рассматривать как вызов метода, но на самом деле это просто синтаксический сахар. В OO-части Scala, где живет уродливый var
, вы можете написать следующее:
class Test {
private var x0: Int = 0
def x = x0
def x_=(a: Int) = x0 = a
}
Затем вы можете назначить новые ints x
:
scala> val t = new Test
t: Test = Test@4166d6d3
scala> t.x = 1
t.x: Int = 1
Последняя строка будет удалена в t.x_=(1)
. Я думаю, что в этом случае, учитывая синтаксический сахар, можно сказать, что =
- вызов метода.
В то время как другие ответы правильны для стандартного Scala, существует вариант под названием Scala-Virtualized , где =
и другие управляющие структуры - вызовы метода .