Как указать лямбда-выражение в JAVA, когда у меня есть два одинаковых метода имени? - PullRequest
4 голосов
/ 03 мая 2019

Как указать лямбда-выражение в 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, когда я использую лямбду.

1 Ответ

5 голосов
/ 03 мая 2019

Вы можете разыграть:

aaa.testa(1, 2, (qqq) i -> 0); 
aaa.testa(1, 2, (ppp) i -> 0);  

Или используйте переменную:

qqq q = i -> 0;
aaa.testa(1, 2, q);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...