On Wed, Aug 18, 2010 at 12:03 PM, Yonik Seeley <yo...@lucidimagination.com> wrote: > On Wed, Aug 18, 2010 at 11:28 AM, <karl.wri...@nokia.com> wrote: >> If you are correct, the comment is certainly incorrect, since it implies >> that the SAME BytesRef is returned as you pass in. > > Yes, that's correct. BytesRef is mutable. You pass in an instance, > and the value is set and the same BytesRef is normally returned to > you. I guess the fact that it's returned at all is to allow a > flexible implementation to possibly return a BytesRef from somewhere > else. > > So: > BytesRef reuse = new BytesRef(); > for (;;) { > BytesRef val = docTerms.getTerm(id, reuse); > // use val, but make a copy > }
comment got truncated... it should read: // use val, but make a copy if you need to retain it beyond one loop iteration (since it will be overwritten) -Yonik http://www.lucidimagination.com --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org