2012-09-04 17 views

उत्तर

13

जावा में प्रत्येक संख्यात्मक प्रकार Number तक फैली हुई है, तो आप एक विधि में अपने सभी संख्या प्रकार औसत करने के लिए घिरे प्रकार पैरामीटर (धन्यवाद पॉल) का उपयोग कर सकते हैं:

public static <N extends Number> double calculateMean(List<N> numbers) { 
    double sum = 0.0; 
    for (N number : numbers) 
     sum += number.doubleValue(); 
    return sum/numbers.size(); 
    } 

उदा जैसे कि:

double intMean = calculateMean(Lists.newArrayList(1,2,3,4,5)); 
double doubleMean = calculateMean(Lists.newArrayList(1d,2d,3d,4d,5d)); 
double longMean = calculateMean(Lists.newArrayList(1l,2l,3l,4l,5l)); 

ध्यान दें कि Lists अमरूद का हिस्सा है।

+2

+1 अच्छा जवाब। नाइटपिक: यह एक बाध्य [* प्रकार पैरामीटर *] है (http://docs.oracle.com/javase/tutorial/extra/generics/methods.html) - एक बाध्य [वाइल्डकार्ड] (http://docs.oracle। com/javase/ट्यूटोरियल/अतिरिक्त/जेनेरिक/wildcards.html) 'सूची <की तरह दिखेगा? संख्या> संख्याओं को बढ़ाता है (इस मामले में यह वही व्यवहार करेगा)। –

+0

@PaulBellora आप सही, सही हैं। धन्यवाद ;) –