OnJava8-Examples/staticchecking/drc/DogAndRobotCollections.java

59 lines
1.1 KiB
Java
Raw Normal View History

2015-09-07 11:44:36 -06:00
// staticchecking/drc/DogAndRobotCollections.java
// (c)2021 MindView LLC: see Copyright.txt
2015-11-15 15:51:35 -08:00
// We make no guarantees that this code is fit for any purpose.
2016-09-23 13:23:35 -06:00
// Visit http://OnJava8.com for more book information.
2016-07-28 12:48:23 -06:00
// {java staticchecking.drc.DogAndRobotCollections}
2015-06-15 17:47:35 -07:00
package staticchecking.drc;
import java.util.*;
class Dog {
public void talk() {
System.out.println("Woof!");
}
public void reproduce() { }
}
class Robot {
public void talk() {
System.out.println("Click!");
}
public void oilChange() { }
}
public class DogAndRobotCollections {
public static void main(String[] args) {
List<Dog> dogList = new ArrayList<>();
List<Robot> robotList = new ArrayList<>();
for(int i = 0; i < 10; i++)
2016-07-05 14:46:09 -06:00
dogList.add(new Dog());
2016-01-25 18:05:55 -08:00
//- dogList.add(new Robot()); // Compile-time error
2015-06-15 17:47:35 -07:00
for(int i = 0; i < 10; i++)
2016-07-05 14:46:09 -06:00
robotList.add(new Robot());
2016-01-25 18:05:55 -08:00
//- robotList.add(new Dog()); // Compile-time error
2015-06-15 17:47:35 -07:00
dogList.forEach(Dog::talk);
robotList.forEach(Robot::talk);
}
2015-09-07 11:44:36 -06:00
}
/* Output:
2015-06-15 17:47:35 -07:00
Woof!
Woof!
Woof!
Woof!
Woof!
Woof!
Woof!
Woof!
Woof!
Woof!
Click!
Click!
Click!
Click!
Click!
Click!
Click!
Click!
Click!
Click!
2015-09-07 11:44:36 -06:00
*/