Categorías
Others

Las 10 preguntas principales relacionadas con la API de Stack Overflow

Stack Overflow es un gran repositorio de valiosos conocimientos de programación. Se han respondido millones de preguntas en Stack Overflow y muchas respuestas tienen una calidad muy alta. Esta es la razón por la que las respuestas de Stack Overflow a menudo se encuentran en la parte superior del resultado de búsqueda de Google.

A pesar de que Stack Overflow ha respondido una gran cantidad de preguntas, todavía se publican preguntas todos los días y muchas de ellas permanecen sin respuesta o no obtienen buenas respuestas. Entonces, la pregunta es cómo encontrar respuestas cuando Stack Overflow no es suficiente.

Como miles de programadores usan las API de Java y comparten sus proyectos en Github, esos proyectos deberían poder proporcionar buenos ejemplos para mostrar cómo usar las API de Java. Ejemplo de API de Java (jEjemplo: http://www.programcreek.com/java-api-examples/index.php) es un portal de búsqueda que proporciona ejemplos de código para las API populares de Java.

En esta publicación, exploraré si el uso de código fuente abierto solo (jExample) puede responder o no a la pregunta relacionada con la API más votada. «Preguntas relacionadas con la API» se refiere a las preguntas que tratan sobre cómo utilizar las API para resolver una tarea. Se analizan las preguntas más votadas de Stack Overflow (enlace: http://stackoverflow.com/questions/tagged/java).

Para cada pregunta, primero se muestran las mejores respuestas y luego se ilustra la solución de los ejemplos de la API de Java (jExample).

1. Iterar a través de un HashMap

La respuesta aceptada proporciona esta solución:

Map<String, Object> map = ...; 
for (String key : map.keySet()) { 
     // ... 
}

Si buscamos «HashMap» en jExample y vamos a la página de ejemplo de java.util.HashMap. Y luego haga clic en uno de los métodos más comunes: entrySet (), podemos obtener rápidamente un ejemplo como el siguiente:

hashmap-entryset

Este ejemplo muestra cómo iterar a través de un HashMap usando HashMap.entrySet(),Entry.getKey(), y Entry.getValue().

Enlaces: HashMap.entrySet ()

2. Cree ArrayList a partir de una matriz

Para esta pregunta, se proporcionan múltiples formas a partir de varias respuestas. Estos son los 3 métodos principales:

// Method 1
new ArrayList<Element>(Arrays.asList(array))
// Method 2
ImmutableList.of("string", "elements");
// Method 3
List<String> l1 = Lists.newArrayList(anotherListOrCollection);

Los 3 métodos anteriores se pueden encontrar usando jExample.

Método 1:
matrices-aslist

Método 2:
immutiblelist-of

Método 3:
listas-newarraylist

Puede que no sea fácil encontrar la segunda solución si no conocemos la clase ImmutableList. Sin embargo, si vamos a la página de ejemplo de ImmutableList, aprendemos otros métodos populares de esta clase.

Enlaces: Arrays.asList (), ImmutableList.of (), Lists.newArrayList ()

3. ¿Cómo generar números enteros aleatorios en un rango?

La solución de la respuesta aceptada es:

int randomNum = rand.nextInt((max - min) + 1) + min;

Si vamos al java.util.Random página de clase, también podemos obtener una similar:

siguiente aleatorio

Enlace: Random.nextInt ()

4. ¿Cómo convertir String a Int?

La mejor respuesta:

int foo = Integer.parseInt("1234");

jEjemplo:
integer-parseInt

Enlace: Integer.parseInt ()

5. ¿Cómo convertir InputStream a una matriz de bytes?

Respuesta aceptada:

InputStream is; 
byte[] bytes = IOUtils.toByteArray(is);

jEjemplo de solución:
IOUtils

Enlaces: ByteArrayOutputStream, IOUtils.toByteArray ()

6. ¿Cómo generar un hash MD5?

La respuesta menciona MessageDigest.

El jExample puede encontrar este ejemplo:
resumen del mensaje

Enlace: MessageDigest

7. ¿Cómo crear un archivo y escribir en un archivo en Java?

Crear un archivo de texto – método 1

PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8"); writer.println("The first line"); 
writer.println("The second line"); 
writer.close();

Crear un archivo de texto – método 2

List<String> lines = Arrays.asList("The first line", "The second line"); 
Path file = Paths.get("the-file-name.txt"); 
Files.write(file, lines, Charset.forName("UTF-8"));

Ejemplos encontrados en jExample:
Método 1.
redactor de archivos

Método 2.
fileoutputstream

Método 3.
archivos

Enlaces: FileWriter, FileOutputStream, Files.write ()

8. ¿La mejor forma de leer un archivo de texto en Java?

BufferedReader br = new BufferedReader(new FileReader("file.txt")); 
try {
   StringBuilder sb = new StringBuilder();
   String line = br.readLine();
   while (line != null) {
      sb.append(line);
      sb.append(System.lineSeparator());
      line = br.readLine(); 
   } 
   String everything = sb.toString(); 
} finally { 
   br.close(); 
}

Ejemplo de jExample:

lector de flujo de entrada

Enlaces: FileInputStream, FileReader, Archivos

9. ¿Cómo convertir java.util.Date a XMLGregorianCalendar?

Respuesta aceptada:

GregorianCalendar c = new GregorianCalendar(); 
c.setTime(yourDate); XMLGregorianCalendar date2 = DatatypeFactory.newInstance().newXMLGregorianCalendar(c);

De jExample:
xmlgregoriancalendar

DatatypeFactory.newXMLGregorianCalendar ()

10. ¿Cómo comprobar si una cadena es numérica?

La respuesta aceptada sugiere usar StringUtils.isNumeric de Apache Commons Lang.

Es posible que no sea necesario un ejemplo de código para esta respuesta, ya que el código es solo una línea. Sin embargo, si vamos a la página de StringUtils, podemos ver la lista de los métodos más comunes de StringUtils. La lista está ordenada por popularidad. Aquí hay una instantánea del lsit:
StringUtils

StringUtils

Conclusión

Encontré ejemplos de código para las 10 preguntas más votadas de Stack Overflow. Sin embargo, jExample requiere que el usuario tenga cierto nivel de conocimiento y adivine la clase de API. Es posible que algunas respuestas no sean obvias, pero jExample aún proporciona información complementaria para usar una clase de API de destino. Las clases relacionadas y las barras laterales de métodos comunes son muy útiles para ver las clases de API relacionadas y los métodos populares de la clase de API de destino.

  LeetCode - Super Pow (Java)

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *