Что делает "Integer" в "Integer.parseInt ()"? - PullRequest
1 голос
/ 27 января 2020

Я новичок в Java, поэтому этот вопрос может показаться глупым. Я понимаю вызов метода с использованием объекта:

Foo obj = new Foo();
obj.method();

Но я не понимаю синтаксис Integer.parseInt() или Character.isDigit(). Что делают префиксы в этих случаях? Есть ли сходство между этим и вызовом метода с использованием объекта своего класса?

Ответы [ 2 ]

2 голосов
/ 27 января 2020

Integer, Float, Double, Character, ... являются классами для примитивных типов int, float, double, char, ... и каждого из у них есть несколько предопределенных методов для использования.

В этом случае parseInt() метод принимает String в качестве входных данных и преобразует его в эквивалентное целое число. для более подробного описания взгляните на эту ссылку .

Вот оригинальная документация для него .

0 голосов
/ 01 февраля 2020

Сценарий

Давайте представим, что мы хотим разобрать String в int:

Неправильный путь

public static void main(String[] args) {
  String asString = "1";
  int asNumber = parseInt(asString); // Error
  System.out.println(asNumber);
}

В этом сценарии мы (и компилятор) не знает, каков владелец метода parseInt, и не знает, какие логики c нужно выполнить.

Правильный путь

public static void main(String[] args) {
  String asString = "1";
  int asNumber = Integer.parseInt(asString); // Correct
  System.out.println(asNumber);
}

Теперь, мы (и компилятор) знаем, что метод parseInt объявлен в Integer.

Синтаксис

Вы уже знакомы с вызовом метода в экземпляре класса (obj.method() ).

Разница с Integer.parseInt() в том, что нам не нужно создавать экземпляр Integer для вызова метода parseInt, потому что это stati c method .

public class Integer {

  public static parseInt(String value) { /* ... */ }

}

Метод или переменная, объявленная с static, является членом класса вместо экземпляра . Доступ к ученикам класса ClassName.member.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...