redhat-developer / redhat-developer/vscode-java

The method is ambiguous for the type

Aberta
#3,955 1 comentário 0 reações 1 responsável Ver no GitHub

@snjeza já está trabalhando nisso.

Desde 4/3/2025.

Linguagem predominante
TypeScript
Estrelas
2.3k
Forks
547
Merge médio
20h 1min
PRs com merge (30d)
11

Descrição

Type: Bug

VS Code is showing error for this code snippet that standard javac has no problem with. It's a combination of having overload methods accepting two different interfaces and a lambda expression that's using while loop.

public class Test {
  public static void main(String[] args) throws Exception {
    System.out.println("Hello, World!");

    test(x -> {
        while (x.length() > 0) {
            System.out.println(x);
            x = x.substring(1);
        }
    });
  }

  public static void test(Consumer<String> consumer) {
      consumer.accept("Hello, World!");
  }

  public static void test(Function<String, Integer> function) {
      System.out.println(function.apply("Hello, World!"));
  }

  public interface Consumer<T> {
      void accept(T t);
  }

  public interface Function<T, R> {
      R apply(T t);
  }
}

Error: The method test(Test.Consumer) is ambiguous for the type Test

Extension version: 1.39.0
VS Code version: Code 1.96.4 (cd4ee3b1c348a13bafd8f9ad8060705f6d4b9cba, 2025-01-16T00:16:19.038Z)
OS version: Linux x64 5.4.0-205-generic
Modes:

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.