Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

235
Views
Cambiar la coincidencia de patrones para instancias devuelve siempre nulo

Estoy tratando de asignar el resultado de la siguiente instanceof pattern matching switch a la variable languageCodeOfReturnValue .

 String languageCodeOfReturnValue = switch (object){ case PlantGuidePageWrapperDTO plantGuidePageWrapperDTO -> plantGuidePageWrapperDTO.getSeedDetailsDTO().getPageSummaryLanguageCode(); case JournalEntryDetailsDTO journalEntryDetailsDTO -> journalEntryDetailsDTO.getLanguageCode(); case JournalOverviewDTO journalOverviewDTO -> journalOverviewDTO.getPageSummaryLanguageCode(); default -> null; };

Pero este código provoca la siguiente advertencia:

El valor 'cambiar (objeto){ case PlantGuidePageWrapperDTO plantGuidePageWrapperDTO -> plant...' es siempre 'null'

Cuando elimino la cláusula default , la advertencia desaparece, pero luego me queda un error de sintaxis porque el switch no cubre todos los valores posibles. La advertencia desaparece cuando reemplazo null con una cadena vacía '' . Sin embargo, realmente quiero que el valor predeterminado sea null .

Entonces, mi pregunta es doble: primero, ¿por qué el resultado de la declaración de cambio siempre es nulo cuando devuelvo un valor nulo en el caso predeterminado? Y segundo, ¿cuál es entonces la forma correcta de devolver un valor null cuando ninguno de los patrones coincide?

Gracias

EDITAR: estoy usando Intellij IDEA como IDE. ¿Quizás es un error de IDEA inellij?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Su declaración de cambio parece correcta. Basado únicamente en la advertencia de IntelliJ, parece que todas las declaraciones de casos individuales devuelven un valor nulo. Como menciona cuando cambia el valor predeterminado a una cadena vacía, la advertencia desaparece ya que ahora todas las declaraciones de casos no devuelven valores nulos.

Además, cuando se trata de valores nulos, siempre puede usar valores opcionales.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!