Gør ting efter return
Hejsa.Jeg vil gerne gøre følgende:
return new ArrayList<X>(y);
y.clear();
altså returnere en kopi af y, og derefter fjerne alle elementer i y(y refererer til en anden list, som dermed får fjernet nogle elementer). Men man kan jo ikke udføre ting efter return. Jeg har overvejet følgende to muligheder:
try{
return new ArrayList<X>(y);
}
finally{
y.clear();
}
Problemet med denne løsning er at der jo ikke er indvolveret exceptions, hvilket måske er forvirrende for andre.
Anden mulighed er at gemme ArrayList'en i en temporær variabel og så returnerer denne efter y.clear().
Hvad er smartest, og har I andre forslag?
