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

Reply via email to