Compile-time question
Brian Goetz
brian.goetz at oracle.com
Sun Apr 7 12:09:05 PDT 2013
display() is private in Person?
On 4/7/2013 2:56 PM, Barry Burd wrote:
> I'm able to compile this simple code ONLY if I comment out the call to p.display(). What am I doing wrong? Thanks.
>
> import java.util.ArrayList;
>
> class CheckAgeForDiscount {
> ArrayList<Person> people = new ArrayList<Person>();
>
> public static void main(String args[]) {
> new CheckAgeForDiscount();
> }
>
> CheckAgeForDiscount() {
>
> fillArray(people);
>
> people.parallelStream()
> .filter(p -> p.getAge() >= 12)
> .filter(p -> p.getAge() < 65)
> .forEach(p -> {
> p.setPrice(9.25);
> });
>
> people.parallelStream()
> .filter(p -> p.getAge() >= 12)
> .filter(p -> p.getAge() < 65)
> .filter(p -> p.hasCoupon())
> .forEach(p -> {
> p.setPrice(p.getPrice() - 2.00);
> });
>
> people.parallelStream()
> .filter(p -> (p.getAge() < 12 || p.getAge() >= 65))
> .forEach(p -> {
> p.setPrice(5.25);
> });
>
> people.stream()
> .forEach(p -> {
> // p.display();
> });
>
> }
>
>
>
> private void fillArray(ArrayList<Person> people) {
> people.add(new Person("Barry", 62, true));
> people.add(new Person("Harriet", 66, false));
> people.add(new Person("Jennie", 6, true));
> people.add(new Person("Sam", 8, false));
> }
> }
>
>
> public class Person {
> private String name;
> private int age;
> private boolean hasCoupon;
> private double price;
>
>
>
> public double getPrice() {
> return price;
> }
> public void setPrice(double price) {
> this.price = price;
> }
> public Person(String name, int age, boolean hasCoupon) {
> super();
> this.name = name;
> this.age = age;
> this.hasCoupon = hasCoupon;
> }
> public String getName() {
> return name;
> }
> public void setName(String name) {
> this.name = name;
> }
> public int getAge() {
> return age;
> }
> public void setAge(int age) {
> this.age = age;
> }
> public boolean hasCoupon() {
> return hasCoupon;
> }
> public void hasCoupon(boolean hasCoupon) {
> this.hasCoupon = hasCoupon;
> }
>
> private void display() {
> System.out.print(getName());
> System.out.print(": Please pay $");
> System.out.print(price);
> System.out.print(". ");
> System.out.println("Enjoy the show!");
> }
> }
>
>
>
More information about the lambda-dev
mailing list