🪟 Windows TippsThe Gemini desktop app is now available for Windows(11.09.2026 um 17:06 Uhr)
⚠️ Malware / Trojaner / VirenWindows 11 just dropped the tool ransomware abused, Microsoft says don’t restore WMIC(10.09.2026 um 20:11 Uhr)
⚠️ Malware / Trojaner / VirenVorsicht: Android-Malware verschlüsselt Ihre Handys und nimmt heimlich Fotos auf(11.09.2026 um 09:35 Uhr)
🕵️ SicherheitslückenMicrosoft geht endlich eines der nervigsten Probleme von Windows 11 an(11.09.2026 um 11:58 Uhr)
💾 IT Security ToolsSysinternals Suite(11.09.2026 um 12:00 Uhr)
🕵️ SicherheitslückenDefender 0-Day ShieldBreak (CVE-2026-69414) nicht sauber gepatcht - BornCity(11.09.2026 um 12:52 Uhr)
🔧 AI Nachrichten Stealing AI Reasoning Traces(08.09.2026 um 12:20 Uhr)
🔧 AI Nachrichten AIs as Modern Genies(08.09.2026 um 19:12 Uhr)
🪟 Windows TippsThe Gemini desktop app is now available for Windows(11.09.2026 um 17:06 Uhr)
⚠️ Malware / Trojaner / VirenWindows 11 just dropped the tool ransomware abused, Microsoft says don’t restore WMIC(10.09.2026 um 20:11 Uhr)
⚠️ Malware / Trojaner / VirenVorsicht: Android-Malware verschlüsselt Ihre Handys und nimmt heimlich Fotos auf(11.09.2026 um 09:35 Uhr)
🕵️ SicherheitslückenMicrosoft geht endlich eines der nervigsten Probleme von Windows 11 an(11.09.2026 um 11:58 Uhr)
💾 IT Security ToolsSysinternals Suite(11.09.2026 um 12:00 Uhr)
🕵️ SicherheitslückenDefender 0-Day ShieldBreak (CVE-2026-69414) nicht sauber gepatcht - BornCity(11.09.2026 um 12:52 Uhr)
🔧 AI Nachrichten Stealing AI Reasoning Traces(08.09.2026 um 12:20 Uhr)
🔧 AI Nachrichten AIs as Modern Genies(08.09.2026 um 19:12 Uhr)

🔧 Programmierung 🕛 vor 1 Jahr 4 Min Lesezeit
0

Usando argumentos curingas

↗ Quelle (dev.to)
🗣️ Stimme:

  • A segurança de tipos pode impedir certas construções válidas, como comparar valores absolutos de diferentes tipos numéricos.


  • Um exemplo é o método absEqual(), que verifica se dois objetos NumericFns contêm números com valores absolutos iguais, mesmo que sejam de tipos diferentes, como Double e Float.


  • O método compara o valor absoluto do objeto chamador com o do argumento passado.




NumericFns<Double> dOb = new NumericFns<Double>(1.25);

NumericFns<Float> fOb = new NumericFns<Float>(-1.25);

if(dOb.absEqual(fOb))

System.out.println("Absolute values are the same.");

else

System.out.println("Absolute values differ.");




  • Criar o método absEqual() parece simples, mas surgem problemas ao definir o parâmetro de tipo para NumericFns.


  • A dúvida está em qual tipo usar como parâmetro de NumericFns, já que ele deve lidar com diferentes tipos numéricos.


  • Uma solução inicial seria usar o mesmo tipo genérico T, mas isso pode não atender a todos os casos.




Exemplo: Example1.java

// Este código não funcionará!

// Determina se os valores absolutos de dois objetos são iguais.

boolean absEqual(NumericFns<T> ob) {

if(Math.abs(num.doubleValue()) ==

Math.abs(ob.num.doubleValue()) return true;

return false;

}




  • Usar Math.abs() para comparar valores absolutos em absEqual() só funciona se ambos os objetos NumericFns forem do mesmo tipo, como NumericFns<Integer>.


  • Essa abordagem não é genérica e impede a comparação entre diferentes tipos, como NumericFns<Integer> e NumericFns<Double>.


  • Para criar uma solução genérica, utiliza-se o argumento curinga (?), que representa um tipo desconhecido em Java.




// Determina se os valores absolutos de

// dois objetos são iguais.

boolean absEqual(NumericFns<?> ob) { // Observe o curinga.

if(Math.abs(num.doubleValue()) ==

Math.abs(ob.num.doubleValue())) return true;

return false;

}




  • NumericFns<?> permite comparar dois objetos NumericFns de qualquer tipo, tornando o método genérico.


  • Isso possibilita a comparação de valores absolutos entre objetos NumericFns com diferentes tipos numéricos.




// Usa um curinga.

class NumericFns<T extends Number> {

T num;

// Passa para o construtor uma referência

// a um objeto numérico.

NumericFns(T n) {

num = n;

}

// Retorna o recíproco.

double reciprocal() {

return 1 / num.doubleValue();

}

// Retorna o componente fracionário.

double fraction() {

return num.doubleValue() - num.intValue();

}

// Determina se os valores absolutos de

// dois objetos são iguais.

boolean absEqual(NumericFns<?> ob) {

if(Math.abs(num.doubleValue()) ==

Math.abs(ob.num.doubleValue())) return true;

return false;

}

// ...

}

// Demonstra um curinga.

class WildcardDemo {

public static void main(String args[]) {

NumericFns<Integer> iOb =

new NumericFns<Integer>(6);

NumericFns<Double> dOb =

new NumericFns<Double>(-6.0);

NumericFns<Long> lOb =

new NumericFns<Long>(5L);

System.out.println("Testing iOb and dOb.");

// Nesta chamada, o tipo curinga equivale a Double.

if(iOb.absEqual(dOb))

System.out.println("Absolute values are equal.");

else

System.out.println("Absolute values differ.");

System.out.println();

System.out.println("Testing iOb and lOb.");

// Nesta chamada, o curinga equivale a Long.

if(iOb.absEqual(lOb))

System.out.println("Absolute values are equal.");

else

System.out.println("Absolute values differ.");

}

}




  • Observe estas duas chamadas a absEqual( ):

    if(iOb.absEqual(dOb))

    if(iOb.absEqual(lOb))


  • Com o curinga (<?>), é possível chamar absEqual() com objetos NumericFns de tipos diferentes, como NumericFns<Integer> e NumericFns<Double>, ou NumericFns<Long>.


  • O curinga não altera os tipos permitidos para criar objetos NumericFns; isso continua sendo controlado pela cláusula extends na declaração.


  • Ele apenas permite que qualquer objeto válido de NumericFns seja usado no método.


Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
Stealing AI Reasoning Traces
1 Quelle
AIs as Modern Genies
1 Quelle
Bitcoin: KI-Hacker räumen Millionen ab! Wird Künstliche Intelligenz zum Problem? - ftd.de
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Usando argumentos curingas

Thematisch verwandte Begriffe: Usando, argumentos, curingas · 6 Treffer

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...