Почему я получаю это сообщение об ошибке при использовании & ldquo; this & rdquo; как параметр метода в Java?

Я нашел этот код, где дата сравнивается в формате для сравнения с полем даты в базе данных ... может быть, это может быть полезно для вас ...

Когда вы конвертируете строку в дату, используя simpledateformat, трудно сравнивать с полем даты в базах данных mysql.

Итак, преобразуйте дату строки java в формате, используя select STR_to_DATE ('yourdate', '% m /% d /% Y'). -> в этом формате, то вы получите точный формат даты в поле даты mysql.

http://javainfinite.com/java/java-convert-string-to-date- и-сравнить /

-2
задан Makoto 15 January 2019 в 17:33
поделиться

3 ответа

Вы не можете использовать this для именования вашей переменной, поскольку это зарезервированное ключевое слово в Java. this относится к вашему текущему объекту (в вашем случае объект класса ThisDemo). Я думаю, что вы хотите достичь, это следующее:

class ThisDemo
{
    void show()
    {
        System.out.println(this);
    }
}
class ThisDemo1
{
    public static void main(String... s)
    {
        ThisDemo a=new ThisDemo();
        a.show();
    }
}
0
ответ дан FilipR 15 January 2019 в 17:33
поделиться

this является ключевым словом, которое ссылается на текущий экземпляр метода или объекта. Он используется для обозначения объекта, частью которого он является.

Так что думайте о человеческом теле как о классе. Поскольку экземпляры объекта могут называться разными вещами, такими как Джон или Кайл, при обращении к типичному человеку в методе, который вы использовали бы, это. Например, чтобы получить сердцебиение для любого человека, у вас должно быть что-то вроде этого. GetHeartbeat ().

Надеюсь, это поможет вам осмыслить это.

0
ответ дан croozelberry.tea 15 January 2019 в 17:33
поделиться

Вас может смущать сообщение об ошибке

тип получателя не соответствует типу включающего класса

Согласно другим ответам, вы не должны Я не могу использовать this в качестве параметра (или объявить его как новую переменную), но в сообщении об ошибке говорится что-то совершенно другое.

Фактически, вы можете использовать this в качестве параметра, но только в одном месте: как параметр приемника .

Параметр приемника является необязательным синтаксическим устройством для метода экземпляра или конструктора внутреннего класса. Для метода экземпляра параметр получателя представляет объект, для которого вызывается метод. Для конструктора внутреннего класса параметр получателя представляет непосредственно включающий экземпляр вновь созданного объекта. В обоих случаях параметр получателя существует исключительно для того, чтобы позволить типу представляемого объекта быть обозначенным в исходном коде, так что этот тип может быть аннотирован (§9.7.4) . Параметр получателя не является формальным параметром; точнее, это не объявление какой-либо переменной (§4.12.3), оно никогда не привязывается ни к какому значению, переданному в качестве аргумента в выражении вызова метода или выражении создания экземпляра класса, и оно не имеет никакого эффекта во время выполнения.

На практике это выглядело бы как

class ThisDemo
{
    void show(@Special ThisDemo this)
    {
        System.out.println(this);
    }
}

. Затем можно извлечь аннотацию @Special с помощью средств обычного отражения.

0
ответ дан Savior 15 January 2019 в 17:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: