ゴング(S)
私は2つの同じ名前のメソッドを持っている場合JAVAでラムダ式を指定する方法?
JAVA8
package com.gsy;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.ResourceBundle;
public class EmailProperty {
public static void main(String args[]) {
}
interface qqq{
int a(int a);
}
interface ppp{
int a(int b);
}
class test{
int a;
int b;
int testa(int a,int b,qqq qqq){
return 1;
}
int testa(int a,int b,ppp ppp){
return 1;
}
}
public EmailProperty() {
test aaa = new test();
aaa.a = 1;
aaa.b = 2;
aaa.testa(1, 2,new ppp() {
@Override
public int a(int b) {
// TODO Auto-generated method stub
return 0;
}
});
aaa.testa(1, 2,???);
}
}
私は書くことができますどのような???、と私はラムダを使用する場合、PPPやQQQを指定する任意の方法を見つけるカント匿名function.Iを使用する必要が `tの。
ernest_k:
あなたはキャストすることができます:
aaa.testa(1, 2, (qqq) i -> 0);
aaa.testa(1, 2, (ppp) i -> 0);
または変数を使用します。
qqq q = i -> 0;
aaa.testa(1, 2, q);