this
относится к текущему объекту.
Каждый нестатический метод работает в контексте объекта. Итак, если у вас есть такой класс:
public class MyThisTest {
private int a;
public MyThisTest() {
this(42); // calls the other constructor
}
public MyThisTest(int a) {
this.a = a; // assigns the value of the parameter a to the field of the same name
}
public void frobnicate() {
int a = 1;
System.out.println(a); // refers to the local variable a
System.out.println(this.a); // refers to the field a
System.out.println(this); // refers to this entire object
}
public String toString() {
return "MyThisTest a=" + a; // refers to the field a
}
}
Затем вызов frobnicate()
на new MyThisTest()
будет печатать
1 42 MyThisTest a=42
. Так эффективно вы используете его для нескольких вещей:
На сервере проверка приходящих снаружи данных является необходимостью.
В браузере, это избыточно от безопасности POV, если можно ручаться, что JSON сгенерирован серверным кодом, которым Вы управляете и что любые данные, от которых это зависит, были проверены на сервере. Несмотря на это, это может все еще быть полезно для отладки.
Мой 2c по этому поводу:
(a) Да, очевидно, что входящие данные должны быть проверены, но
(b) Лучшее место для этого НЕ с данными Json. как есть, но с реальными объектами бизнес-логики, если используется привязка данных. Проверка JSON имеет смысл только в том случае, если вы обрабатываете «необработанный» JSON, но большинство служб (по крайней мере, в Java) сначала используют привязку данных, а затем работают с объектами бизнес-логики, а не с форматом данных (который часто является почти деталью реализации)