mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +02:00
8202216: Add Buffer mismatch methods
Reviewed-by: plevart, psandoz
This commit is contained in:
parent
d0955dc37a
commit
df2f01daf1
2 changed files with 60 additions and 1 deletions
|
@ -1353,6 +1353,38 @@ public abstract class $Type$Buffer
|
|||
#end[floatingPointType]
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds and returns the relative index of the first mismatch between this
|
||||
* buffer and a given buffer. The index is relative to the
|
||||
* {@link #position() position} of each buffer and will be in the range of
|
||||
* 0 (inclusive) up to the smaller of the {@link #remaining() remaining}
|
||||
* elements in each buffer (exclusive).
|
||||
*
|
||||
* <p> If the two buffers share a common prefix then the returned index is
|
||||
* the length of the common prefix and it follows that there is a mismatch
|
||||
* between the two buffers at that index within the respective buffers.
|
||||
* If one buffer is a proper prefix of the other then the returned index is
|
||||
* the smaller of the remaining elements in each buffer, and it follows that
|
||||
* the index is only valid for the buffer with the larger number of
|
||||
* remaining elements.
|
||||
* Otherwise, there is no mismatch.
|
||||
*
|
||||
* @param that
|
||||
* The byte buffer to be tested for a mismatch with this buffer
|
||||
*
|
||||
* @return The relative index of the first mismatch between this and the
|
||||
* given buffer, otherwise -1 if no mismatch.
|
||||
*
|
||||
* @since 11
|
||||
*/
|
||||
public int mismatch($Type$Buffer that) {
|
||||
int length = Math.min(this.remaining(), that.remaining());
|
||||
int r = BufferMismatch.mismatch(this, this.position(),
|
||||
that, that.position(),
|
||||
length);
|
||||
return (r == -1 && this.remaining() != that.remaining()) ? length : r;
|
||||
}
|
||||
|
||||
// -- Other char stuff --
|
||||
|
||||
#if[char]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue