On Wed, Aug 18, 2010 at 12:03 PM, Yonik Seeley <[email protected]> wrote: > On Wed, Aug 18, 2010 at 11:28 AM, <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
