2009-06-09 13 views
11

Soy nuevo en la programación, me preguntaba si hay alguna manera de encontrar las clases de Java que necesito para una cosa en particular además de preguntarle a la gente por ellas en los foros. He visto las API en el sitio web de Sun, pero no hay una buena opción de búsqueda para encontrar la clase que funcione para mí.cómo encontrar clases de Java?

+0

Pruebe esto - http://javasearch.buggybread.com/ –

Respuesta

19

Si es nuevo en Java (o en la programación), será importante aprender a leer y comprender la documentación para ser autosuficiente: es el primer paso para ser menos dependiente de otras personas y, en la mayoría de los casos, mejorará su aprendizaje y velocidad de programación.

Los siguientes son algunos consejos y sugerencias:

conocer a los Java API Specification.

Al principio, el formato Javadoc de la Especificación API parece un poco poco potente sin ninguna capacidad de búsqueda, pero he descubierto que ser capaz de navegar por la documentación con un navegador es muy poderoso.

Dado que los JavaDocs son solo archivos HTML, se pueden ver y navegar fácilmente en un navegador, y las páginas de marcadores también son fáciles. Además, the API Specification is available for download, por lo que no es necesario ir siempre a la web para obtener información.

Como la documentación es solo páginas web, usando la función Buscar del navegador puede encontrar información rápidamente en una página, y si eso falla, usar Google o su motor de búsqueda favorito para encontrar documentación es muy rápido y fácil.

Google (o su motor de búsqueda favorito) es su amigo.

¿Necesita información sobre la clase StringBuilder? Pruebe la siguiente consulta:

stringbuilder java 6

El primer resultado será la página de especificaciones API Java para la clase StringBuilder. La sugerencia es agregar la cadena "java 6" al final de la consulta y eso parece llevar la especificación de API a la parte superior la mayor parte del tiempo.

Ponte cómodo con la estructura de la especificación API.

La estructura de presentación de la herramienta Javadoc es muy bonito y lógico:

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

El Javadoc se divide en tres cuadros.

  • Marco superior izquierdo: listado de todos los paquetes de la API de la plataforma Java.
  • Marco inferior izquierdo: listado de todas las clases del paquete seleccionado.
  • Marco derecho: detalles del paquete o clase seleccionado actualmente.

Generalmente, la búsqueda de una clase comienza seleccionando un paquete del cuadro de la mano izquierda superior, luego buscando la clase en el cuadro inferior izquierdo y finalmente examinando los detalles en el marco de la derecha. La idea es:

Package -> Class -> Details 

Los detalles en el marco de la mano derecha para las clases y los paquetes también son muy estructurados. Para las clases, la estructura es la siguiente:

  • Nombre de clase
  • jerarquía de herencia
  • interfaces implementadas
  • clases relacionadas
  • de datos o descripciones de la clase; ejemplos de uso.
  • campo de resumen
  • Resumen de constructores
  • Resumen de métodos
  • campo Detalles/Constructor/método.

Cuando estoy buscando información sobre un método, me desplazaré hacia abajo hasta el Resumen del método, encontraré el método que deseo y haré clic en el nombre del método que saltará a los Detalles del método.

Además, todo lo relacionado con la clase está documentado en una página; puede parecer demasiada información para una página, pero facilita la obtención de toda la información necesaria sobre la clase desde una ubicación. En otros formatos de documentación, puede ser necesario pasar de una página a otra para obtener información sobre varios métodos en la misma clase. Con el formato Javadoc, todo está en una página.

aprender el API de la plataforma Java

El siguiente paso es aprender los paquetes importantes de la API de la plataforma Java. Esto ayudará a encontrar rápidamente las clases de la enorme colección de clases en la plataforma API.

No se preocupe, tómelo lento, ¡no necesita aprender todo de una vez!

Algunos paquetes de interés son:

  • java.lang - contiene las clases como String, System, Integer, y otra que se importan automáticamente en cada programa Java.

  • java.util - Contiene las colecciones de Java (como List, Set, Map y aplicaciones), Date, Random y otras clases utilitarias. Este es probablemente el primer paquete para encontrar clases que serán útiles para realizar operaciones comunes.

  • java.io - Clases relativas con entrada y salida, tales como File, Reader s y Writer s y los diversos Stream s.

  • java.awt y javax.swing - Para interfaces gráficas de usuario, utiliza Java Abstract Window Toolkit o Swing, y esos dos paquetes están acostumbrados a tratar con interfaces gráficas de usuario en Java.

Saber dónde están las clases y comenzar a tener una idea de dónde buscar en la gran cantidad de documentación facilitará la búsqueda de información. Probablemente le tomará un tiempo acostumbrarse, pero una vez que lo domine, será mucho más fácil y podrá encontrar la información por su cuenta.

¡Buena suerte!

+3

ahora esa es una respuesta. –

1
  • ¿Está buscando bibliotecas de Java? Prueba la búsqueda de Google, p. database connection pool java
  • ¿Está buscando clases dentro de las bibliotecas centrales de Java? Instale un IDE y busque clases, p. en Eclipse intente Ctrl-Shift-T y escriba nombres: LinkedList. Tenga en cuenta que en Eclipse también puede usar comodines, como * Lista para obtener todas las clases con nombres que terminan en Lista;
  • ¿Busca una clase específica dentro de un paquete? Pruebe Sonatype's Maven repository, haga clic en búsqueda avanzada y en el nuevo menú desplegable seleccione el nombre de la clase.
2

Depende de lo que quiere decir. P.ej. si desea conocer la ubicación exacta de una clase como "¿Dónde estaba BufferedReader de nuevo?", hago una búsqueda en Google:

site:java.sun.com BufferedReader 

Si quieres saber cómo hacer una tarea, por ejemplo, "¿Cómo puedo leer las contraseñas desde la terminal sin hacer eco?" (java.io.Console), a veces solo puedes resolverlo por primera vez pidiendo consejo.

2

mayoría de las veces si se encuentra en el núcleo de la lengua (que no es una biblioteca tercera parte) utilizo el siguiente enlace:

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

qué lista de todas las clases de Java SE.

Para saber si la clase puede funcionar o no, intento presionar Ctrl-F y adivinar qué clase sería la apropiada.

Eventualmente con el tiempo, cuando se acostumbre a las clases que hay, la búsqueda será más fácil.

Por ejemplo, digamos que usted desea utilizar una matriz:

Ctrl + F rendimientos de matriz:

Array 
Array 
ArrayBlockingQueue 
ArrayDeque 
ArrayIndexOutOfBoundsException 
ArrayList 
Arrays 
ArrayStoreException 
ArrayType 
ArrayType 

hago clic en cada uno y ver la documentación. Algunos de ellos no tienen sentido, algunos de ellos son exactamente lo que necesito.

A veces puede no funcionar muy directo. Deja la manera cómo crear una ventana:

Ctrl + F no muestran JFrame que es la respuesta correcta, pero es sólo cuestión de Tunning su sentido :)

espero que esto ayude.

+1

La documentación de API de Java es mucho mejor que MSDN. –

1

Yo recomendaría un libro como Java In A Nutshell que es una excelente referencia para la API de Java SE (tenga en cuenta que cubre sólo Java 5, pero que debería estar bien para la mayoría de las necesidades)

0

Estoy de acuerdo con que los tutoriales son buenos y que los motores de búsqueda en general son geniales (pero ahora todos lo llevan de regreso a SO). Además de los foros, uno de los recursos que no debe perderse son los programadores que lo rodean. Si formas parte de un equipo de desarrollo o en una clase, puedes obtener las respuestas que necesitas o puedes colaborar en la búsqueda. A menudo es más fácil para un ser humano ayudarle si no está exactamente seguro de entender qué es lo que está buscando.

1

Me gusta usar DocJar.

Incluso hay un plugin para eclipse pero aún no lo he probado.

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