Как найти классы Java?

Я новичок в программировании, мне было интересно, есть ли способ найти классы java, которые мне нужны для конкретной вещи, кроме как спрашивать людей на форумах? Я видел API на веб-сайте sun, но нет хорошего способа поиска, чтобы найти класс, который будет работать для меня.

Ответ 1

Если вы новичок в Java (или программировании), важно научиться читать и понимать документацию, чтобы стать самостоятельной - это первый шаг к тому, чтобы быть менее зависимым от других людей, и в большинстве случаев улучшит вашу скорость обучения и программирования.

Ниже приведены некоторые советы и предложения:

Ознакомьтесь с Спецификацией API Java.

Во-первых, формат Javadoc спецификации API выглядит немного недоукомплектованным без какой-либо возможности поиска, но я обнаружил, что это возможность просматривать документацию с помощью браузера, чтобы быть очень мощным.

Так как Javadocs - это просто файлы HTML, их можно легко просматривать и перемещать в браузере, а закладки также легко просты. Кроме того, спецификация API доступна для скачивания, поэтому не нужно всегда переходить в Интернет для получения информации.

Поскольку документация представляет собой только веб-страницы, использование функции поиска в браузере может быстро найти информацию на странице, и если это не удается, использование Google или вашей любимой поисковой системы для поиска документации очень быстро и просто.

Google (или ваша любимая поисковая система) - ваш друг.

Нужна информация о классе StringBuilder? Попробуйте выполнить следующий запрос:

stringbuilder java 6

Первым результатом будет страница спецификации API Java для класса StringBuilder. Совет должен добавить строку "java 6" в конце запроса и, похоже, большую часть времени выводит спецификацию API.

Удовлетворитесь структурой спецификации API.

Структура презентации инструмента Javadoc очень приятная и логичная:

+-----------+-------------------+
|           |                   |
|  Packages |                   |
|           |                   |
+-----------+      Details      |
|           |                   |
|  Classes  |                   |
|           |                   |
+-----------+-------------------+

Javadoc разбивается на три кадра.

  • Верхний левый фрейм: список всех пакетов API платформы Java.
  • Нижний левый фрейм: список всех классов в выбранном пакете.
  • Правый кадр: информация о текущем выбранном пакете или классе.

Как правило, поиск класса начинается с выбора пакета из верхнего левого фрейма, затем ищет класс в нижнем левом фрейме и, наконец, просматривает детали в правой рамке. Идея такова:

Package -> Class -> Details

Детали в правой рамке для классов и пакетов также очень структурированы. Для классов структура выглядит следующим образом:

  • Имя класса
  • Иерархия наследования
  • Реализованные интерфейсы
  • Связанные классы
  • Информация о классе и его описание; примеры использования.
  • Сводка полей
  • Сводка конструктора
  • Описание метода
  • Информация о поле/конструкторе/методе.

Когда я ищу информацию о методе, я перейду к сводке методов, найду метод, который я хочу, и нажмем на это имя метода, которое перейдет к подробной информации о методе.

Кроме того, все о классе документировано на одной странице - может показаться, что слишком много информации для одной страницы, но это облегчает получение всей необходимой информации о классе из одного места. В других форматах документации может потребоваться перевернуть между несколькими страницами, чтобы получить информацию о нескольких методах в одном классе. В формате Javadoc все это на одной странице.

Изучите API платформы Java

Следующий шаг - изучить важные пакеты API платформы Java. Это поможет быстро найти классы из огромной коллекции классов в API платформы.

Не волнуйтесь, делайте это медленно - вам не нужно сразу все изучать!

Некоторые интересующие пакеты:

  • java.lang. Содержит классы, такие как String, System, Integer и другие, которые автоматически импортируются в каждую программу Java.

  • java.util. Содержит коллекции Java (например, List, Set, Map и их реализации), Date, Random и другие утилитарные классы. Это, вероятно, первый пакет, который нужно найти, чтобы найти классы, которые будут полезны при выполнении общих операций.

  • java.io - классы, касающиеся ввода и вывода, такие как File, Reader и Writer и различные Stream s.

  • java.awtи javax.swing. Для графических пользовательских интерфейсов Java использует Abstract Window Toolkit или Swing, и эти два пакета используются для работы с GUI в Java.

Зная, где находятся классы и начинают понимать, где искать в огромном количестве документации, легче будет найти информацию. Вероятно, потребуется некоторое время, чтобы привыкнуть к нему, но как только вы его повесите, это будет намного проще, и вы сможете найти информацию самостоятельно.

Удачи!

Ответ 2

Это зависит от того, что вы имеете в виду. Например. если вы хотите узнать местоположение точного класса, например "Где был BufferedReader снова?", я выполняю поиск Google по адресу:

site:java.sun.com BufferedReader

Если вы хотите знать, как выполнить задачу, например. "Как я могу читать пароли с терминала без эха?" (java.io.Console), иногда вы можете понять это впервые, попросив совета.

Ответ 3

В большинстве случаев, если он находится в ядре языка (это не сторонняя библиотека), я использую следующую ссылку:

http://java.sun.com/javase/6/docs/api/allclasses-frame.html

Какой список всех классов в Java SE.

Чтобы узнать, может ли класс работать, или нет, я пытаюсь нажать Ctrl-F и угадать, какой класс будет подходящим.

Со временем, когда вы привыкнете к классам, поиск будет проще.

Например, скажем, вы хотите использовать массив:

Ctrl + F Массив дает:

Array 
Array 
ArrayBlockingQueue 
ArrayDeque 
ArrayIndexOutOfBoundsException 
ArrayList 
Arrays 
ArrayStoreException 
ArrayType 
ArrayType 

Я нажимаю на каждый и вижу документацию. Некоторые из них не имеют никакого смысла, некоторые из них именно то, что мне нужно.

Иногда это может не работать очень прямо. Позволяет создать окно:

Ctrl + F не показывает JFrame, который является правильным ответом, но это просто вопрос настройки вашего чувства:)

Надеюсь, это поможет.

Ответ 4

  • Вы ищете библиотеки java? Попробуйте выполнить поиск в Google, например. пул соединений с базой данных
  • Вы ищете классы внутри основных java-библиотек? Установите IDE и найдите классы, например. в Eclipse попробуйте Ctrl-Shift-T и введите имена: LinkedList. Обратите внимание, что в Eclipse вы также можете использовать подстановочные знаки, такие как * Список, чтобы получить все классы с именами, заканчивающимися в List;
  • Ищете определенный класс внутри пакета? Попробуйте репозиторий Sonatype Maven, нажмите расширенный поиск и в новом раскрывающемся списке классов.

Ответ 5

Я бы рекомендовал книгу, такую ​​как Java In A Nutshell, которая является отличной ссылкой для Java SE API (обратите внимание, что она охватывает Java 5, но это должно быть хорошо для большинства потребностей)

Ответ 7

Мне нравится использовать DocJar.

Существует даже плагин для eclipse, но я еще не пробовал его.

http://eclipse-plugins.2y.net/eclipse/plugin_details.jsp?id=959

Ответ 8

Я согласен с тем, что учебники хороши, а поисковые системы в целом великолепны (но теперь они все ведут к SO). Помимо форумов, один ресурс не пропустить - это программисты вокруг вас. Если вы являетесь частью команды разработчиков или в классе, вы можете получить ответы, которые вам нужны, или вы можете сотрудничать в поиске. Человеку часто легче помочь вам, если вы не совсем уверены, что понимаете, что именно вы ищете.