2010-09-24 7 views
15

अधिकांश बार उपयोगकर्ता तत्वों में एक ड्रॉप डाउन में सभी तत्वों वाला एक गणना दिखाया जाता है। हमें उपयोगकर्ता इंटरफ़ेस में केवल 5 में से 2 फ़ील्ड दिखाने की ज़रूरत है। किसी भी तरह से गणना के लिए उपलब्ध एक ही कार्य का लाभ उठाकर, इस डेटा को लाने का एक आसान तरीका क्या होगा।एक गणना के सबसेट को कैसे प्राप्त करें

enum Color {RED, GREEN, BLACK, BLUE, YELLOW}; 

हमें किसी निश्चित उपयोगकर्ता इंटरफ़ेस में केवल {लाल, BLUE} दिखाने की आवश्यकता है?

उत्तर

25

EnumSet के लिए एक नौकरी की तरह लगता है:

public enum Color { 
    RED("Red"), GREEN("Green"), BLACK("Black"), BLUE("Blue"), YELLOW("Yellow"); 

    private final String display; 

    private Color(String display) { 
     this.display = display; 
    } 

    @Override 
    public String toString() { 
     return display; 
    } 

    public static EnumSet<Color> getSubSetOfValues() { 
     return EnumSet.of(RED, BLUE); // return Red and Green 
     //return EnumSet.range(GREEN, BLUE); // return Green, Black and Blue 
    } 
} 

EnumSet<Color> set = EnumSet.of(Color.RED, Color.BLUE); 
1

enum कुछ कस्टम तरीकों शामिल हैं (जैसे, RED की Red instesd प्रदर्शित करने के लिए) कर्नल or.values ​​(); // सभी तत्व।

Color.getSubSetOfValues ​​(); // सबसेट

संबंधित मुद्दे