Intellij - peut être remplacé avec la méthode de référence

Toujours lorsque j'utilise les expressions lambda comme ceci:

.map(obj -> foo.makeSomething(obj))

IntelliJ suggère: "Peut être remplacé avec la méthode de référence...". Et quand j'essaie alors:

.map(Foo::makeSomething)

- Je obtenir la déclaration suivante: "Non méthode statique ne peut pas être référencé à partir d'un contexte statique".

Pourquoi l'Idée suggère que moi je dois utiliser la méthode de référence si ce n'est pas correct?

Est-ce que ça suggèrent que le remplacement? Ou est-ce juste ce que vous écrivez vous-même? Je me serais attendu à foo::makeSomething, qui serait de travailler.
C'est foo::makeSomething. Vous voulez appeler la méthode sur l'objet foo, et non pas sur la classe Foo. Vous pourriez tout aussi bien laisser IntelliJ transformer le code pour vous (Alt-Enter).
Double Possible de Java 8 Référence à une Méthode non-statique méthode
la version de IntelliJ IDEA utilisez-vous?
TY pour que les raccourcis - mon dieu pour la vie de moi je ne pourrais pas comprendre comment le dire IJ pour le faire! Tout cela a été inutile popup encore plus inutile suggestion à aller dans les paramètres où il n'y a rien de pertinent à ce code !! Se penchant de plus en plus vers Eclipse maintenant 🙁 qui a bien le droit-cliquez sur l'option

OriginalL'auteur user | 2017-07-02