lambda primary

Requirements:     1  pick only one abstract method port, you can use @FunctionalInterface annotation definition, is not required

     2 lambda three elements

      2.1: () represents the parameter list, type dispensable, java back to their projections

                   2.2: -> Connector

      2.3: {} method thereof, only one line of code can be omitted

              

/ ** 
* None None Return Value function parameter
* /
@FunctionalInterface
public interface NoParaAndReturn {
// Print parameters
void printParameter ();
}


// the return value of the function has no parameters
@FunctionalInterface
interface HaveParaAndNoReturn {
// Print parameters
void printParameter (String color , String inch);
}

// return value of the function has no parameters
interface NoParaAndHaveReturn {
int printParameter ();
}

// return value with a parameter
interface HaveParaAndHaveReturn {
int printParameter (Color String, String inch);
}


// ############## 1 None None Return Value parameter function ################### 
@Test
public void noParaAndReturn () {
inner class // ######### #########
NoParaAndReturn InnerClass new new NoParaAndReturn = () {
@Override
public void printParameter () {
System.out.println ( "inner class: this is a millet phone ");
}
};
innerClass.printParameter ();

// class implements Lamda ######## #########
NoParaAndReturn the lambda = () -> {
the System.out .println ( "lamda class implementation: it is a mobile phone Huawei");
};
lambda.printParameter ();
}

// ############## 2 function has no return value parameters ## #################
@Test
public void haveParaAndNoReturn () {
Inner class // ######### #########
HaveParaAndNoReturn InnerClass new new HaveParaAndNoReturn = () {
@Override
public void printParameter (Color String, String inch) {
System.out.println ( "inner class: Huawei p30 color:" + color + "inch:" + inch);
}
};
innerClass.printParameter ( "white", "5.2");

// class implementation ######## Lamda #########
HaveParaAndNoReturn the lambda = (color, inch) -> System.out.println ( "Lamda class implementation: color Huawei p30:" + color + "inch:" + inch);
lambda.printParameter ( "white", "5.2");
}

// ############## reference 3 has no return value of the function ###################
@Test
public void noParaAndHaveReturn () {
// ######### ######### inner class
= New new NoParaAndHaveReturn InnerClass NoParaAndHaveReturn () {
@Override
public int printParameter () {
System.out.println ( "inner class: defines the return value 0");
return 0;
}
};
int innerClassReturn innerClass.printParameter = ();
the System .out.println ( "inner class output return value" + innerClassReturn);

// class implements Lamda ######## #########
NoParaAndHaveReturn the lambda = () -> {
the System.out .println ( "lamda class implementation: defining the return value 0");
return 0;
};
int lambdaReturn lambda.printParameter = ();
System.out.println ( "Lamda class implements an output return value" + lambdaReturn);
}

// ############## 4 has the function returns a value parameter ###################
@Test
public void HaveParaAndHaveReturn () {

// inner class ######### #########
HaveParaAndHaveReturn InnerClass new new HaveParaAndHaveReturn = () {
@Override
public int printParameter (Color String, String inch ) {
System.out.println ( "inner class: defines the return value 0");
return 0;
}
};
int = innerClassReturn innerClass.printParameter ( "white", "5.2");
System.out.println ( "internal returns the class implements an output value "+ innerClassReturn);

// class implements Lamda ######## #########

HaveParaAndHaveReturn the lambda = (colar, inch) -> {
System.out.println (" lamda class implementation: defining the return value 0 ");
return 0;
};
int lombdaReturn = lambda.printParameter ( "White", "5.2");
System.out.println ( "Lamda class implements an output return value" + lombdaReturn);
}
In the project, new Thread when used before, there is a lambda foreach, other more commonly used ,, has not used


 

 

      

Guess you like

Origin www.cnblogs.com/draymond/p/11468735.html