Compile-time question (original) (raw)

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 people = new ArrayList(); 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 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