Articles of métodos de

Varargs Java llamada ambigua

Estoy un poco confundido acerca de los métodos varargs de Java: public static int sum(int …a) { return 0; } public static double sum(double …a) { return 0.0; } Cuando intenté invocar sum() sin pasar ningún argumento, se invocó la versión int del método. No entiendo por qué; normalmente el comstackdor debe generar un error. […]

Devuelve varios valores de un método Java: ¿por qué no se oponen n-tuples?

¿Por qué no hay una solución (estándar, certificada por Java), como parte del lenguaje Java en sí, para devolver múltiples valores de un método Java, en lugar de que los desarrolladores tengan que usar sus propios medios, como mapas, listas, pares, etc. .? ¿Por qué Java no admite objetos n-tuple? Especialmente pensando en métodos privados […]

¿Cómo crear un método Java que acepte una cantidad variable de argumentos?

Por ejemplo, el propio String.format() Java admite una cantidad variable de argumentos. String.format(“Hello %s! ABC %d!”, “World”, 123); //=> Hello World! ABC 123! ¿Cómo puedo hacer mi propia función que acepta una cantidad variable de argumentos? Siguiente pregunta: Realmente estoy tratando de hacer un atajo de conveniencia para esto: System.out.println( String.format(“…”, a, b, c) ); […]

¿Qué hace la palabra clave return en un método void en Java?

Estoy buscando un tutorial de búsqueda de ruta y noté una statement de return dentro de un método de void (clase PathTest , línea 126): if ((x < 0) || (y = map.getWidthInTiles()) || (y >= map.getHeightInTiles())) { return; } Soy un novato en Java. ¿Alguien puede decirme por qué está allí? Por lo que […]

Referencia de método de instancia y parámetros de Lambda

Tengo problemas para entender la syntax de una referencia de método, donde hay dos parámetros a y b , y la referencia es a un método de a en b . Por ejemplo, entiendo cómo Arrays.sort(personArray, comparators::compareByName); es equivalente a Arrays.sort(personArray, (o1, o2) -> comparators.compareByName(o1, o2)); porque en ese caso los parámetros lambda coinciden con […]

Herencia de Java: llamar al método de la superclase

Supongamos que tengo las siguientes dos clases public class alpha { public alpha(){ //some logic } public void alphaMethod1(){ //some logic } } public class beta extends alpha { public beta(){ //some logic } public void alphaMethod1(){ //some logic } } public class Test extends beta { public static void main(String[] args) { beta obj […]

Método seguro de Python para obtener valor del diccionario nested

Tengo un diccionario nested. ¿Hay una sola forma de obtener valores de forma segura? try: example_dict[‘key1’][‘key2’] except KeyError: pass ¿O tal vez Python tiene un método como get() para el diccionario nested?

¿Propósito de un constructor en Java?

¿Cuál es el propósito de un constructor? He estado aprendiendo Java en la escuela y me parece que un constructor es en gran medida redundante en las cosas que hemos hecho hasta ahora. Queda por ver si se produce un propósito, pero hasta ahora no parece tener sentido para mí. Por ejemplo, ¿cuál es la […]

¿Cómo verificar si un objeto tiene cierto método / propiedad?

¿Usando un patrón dynamic tal vez? Puede llamar a cualquier método / propiedad usando la palabra clave dinámica, ¿verdad? ¿Cómo verificar si el método existe antes de llamar a myDynamicObject.DoStuff (), por ejemplo?

Argumentos finales en métodos de interfaz: ¿cuál es el punto?

En Java, es perfectamente legal definir argumentos final en métodos de interfaz y no obedecer eso en la clase implementadora, por ejemplo: public interface Foo { public void foo(int bar, final int baz); } public class FooImpl implements Foo { @Override public void foo(final int bar, int baz) { … } } En el ejemplo […]