2016-12-26 8 views
0

IntelliJ IDEAの最新バージョンで奇妙な動作が発生しました。小さなプライベートJavaライブラリがあり、他のプロジェクトで使用しようとすると、IntelliJは間違ったメソッドのパラメータ名を表示します。もっとここに画像上:私はこのようにそれを行うときに、それが必要として動作することを wrong IntelliJ code completionIntelliJでコードの補完が間違っていますか?

お知らせ:それは二絵のようにそれを表示するか、またはあるでしょうので good intellij code completion

私はIDEを設定することができますそれはバグ/意図された動作ですか?

編集:

Combinatoricsはインターフェイスです。 CombinatoricsImplは、そのインタフェースを実装するクラスであり、メソッドgetCombinatoricsを持ち、CombinatoricsImplの新しいインスタンスを返します。

public static Combinatorics getCombinatorics() { 
    return new CombinatoricsImpl(); 
} 

インタフェース(Javadocをなし):

public interface Combinatorics { 

    double combinationsNonRepeating(int n, int k); 

    double variationsNonRepeating(int n, int k); 

    double permutationsNonRepeating(int n); 

    double combinationsRepeating(int n, int k); 

    double variationsRepeating(int n, int k); 

    double permutationsRepeating(List<Integer> frequencies); 
} 
+0

2つの例で同じコードを使用しません。元のコードをここに追加できますか? – ShacharSh

+0

それは私が思うところですが、あるケースでは動作し、別の方法では動作しません。 – Pitris

+0

私は理解していますが、コードを追加すると助けになります – ShacharSh

答えて

0

方法getCombinatorics()はタイプ組み合わせ論のオブジェクトを返すことはありません。そのため、最初の画像では機能しません。

2番目のイメージでは、イメージをコンビナトリアルオブジェクト型にキャストしています。それで、それは第二のイメージで働いています。

私はここにideに何か問題はないとは思わない。

+0

そのメソッドは、インタフェースCombinatoricsを実装するクラスのインスタンスを返します(元の投稿にいくつかのコードを追加しました)。 Netbeans IDEでは問題なく動作しますので、IDEAのバグだと思います。 – Pitris

関連する問題