Я видел некоторый старый код, который использует свойство length
на некоторых объектах и других, которые используют метод length()
. В настоящее время я работаю с NodeList
из пакета org.w3c.dom
, и я обнаружил, что у него есть метод getLength()
, чтобы получить количество элементов.Когда длина используется как метод и когда свойство в Java?
Мой вопрос заключается в том, как Java разработчик я могу знать, как определить, когда использовать length
, length()
, size()
, getLength()
? очевидно, что это зависит от типа объекта, и API существует для чтения ... но суть в том, как Java Development выбирает, какой из них реализуется в своих классах.
Примечание: В Вопрос When to use .length vs .length() Makoto ответ указывает, что .length
это свойство массивов. Это не вызов метода, а length()
- вызов метода на String. Но почему причина? почему бы не использовать когда-либо метод или когда-либо свойство для поддержания согласованности во всем API.
Эй, то Java API имеет хлам уходящий от почти 20 лет, я знаю ... В любом случае, конвенция в настоящее время в основном предназначена для использования геттеров, поэтому вы чаще будете видеть '.getLength()'. Ну, 'Collection' имеет' .size() '... – fge
Java не имеет свойств. длина - поле. Для массивов вы используете длину, для списков вы используете size(). Там будет множество классов, где есть поля и методы со всеми типами имен, поэтому на это очень сложно ответить, но если вы нажмете. после объекта в вашей среде IDE должен появиться список всех вещей, которые вы можете сделать с ним. –
У вас не будет никаких шансов, но вам придется искать документацию для каждого типа, который вы хотите использовать. – 5gon12eder