2011-10-20 12 views
19

गूगल Guava JavaDoc for Iterables से:Google गुवा (जावा) में, Iterables.getFirst() और getLast() असंगत क्यों हैं?

static <T> T getFirst(Iterable<T> iterable, T defaultValue) 

->iterable या defaultValue में पहला तत्व वापस लौटाता iterable खाली है।

static <T> T getLast(Iterable<T> iterable) 

->iterable का अंतिम तत्व देता है।

static <T> T getLast(Iterable<T> iterable, T defaultValue) 

->iterable या defaultValue के अंतिम तत्व वापस लौटाता iterable खाली है।

एक स्थिर विधि (मेरे लिए) याद आ रही है:

static <T> T getFirst(Iterable<T> iterable) 

->iterable के पहले तत्व देता है।

क्या आप इस असंगतता का कारण जानते हैं?

उत्तर

19

क्योंकि एक सहायक विधि को औचित्य देना बहुत आसान है। विधि सिर्फ iterable.iterator().next() होगी और getLast() के समान व्यवहार होगा।

+3

कड़ाई से बोलना यह 'iterable.iterator()। अगला()' है, लेकिन मैं सहमत हूं। –

+0

बेशक, बहुत तेज़ टाइप किया गया। मैं इसे ठीक कर दूंगा। –

+11

फिर भी, 'Iterables.getLast()' जैसी विधियों का उपयोग करते समय, मैं केवल कोड पठनीयता और इरादा अभिव्यक्ति के लिए मौजूद होने का तरीका मानता हूं ... –

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