pub trait PrimitiveArray<T>: Sized + ReferenceType
where T: Clone + Default,
{ // Required methods fn new<'env>(env: Env<'env>, size: usize) -> Local<'env, Self>; fn len(&self) -> usize; fn get_region(&self, start: usize, elements: &mut [T]); fn set_region(&self, start: usize, elements: &[T]); // Provided methods fn new_from<'env>(env: Env<'env>, elements: &[T]) -> Local<'env, Self> { ... } fn get_region_as_vec(&self, range: impl RangeBounds<usize>) -> Vec<T> { ... } fn as_vec(&self) -> Vec<T> { ... } }
Expand description

A Java Array of some POD-like type such as bool, jbyte, jchar, jshort, jint, jlong, jfloat, or jdouble.

See also ObjectArray for arrays of reference types.

Required Methods§

source

fn new<'env>(env: Env<'env>, size: usize) -> Local<'env, Self>

Uses env.New{Type}Array to create a new java array containing “size” elements.

source

fn len(&self) -> usize

Uses env.GetArrayLength to get the length of the java array.

source

fn get_region(&self, start: usize, elements: &mut [T])

Uses env.Get{Type}ArrayRegion to read the contents of the java array from [start .. start + elements.len())

source

fn set_region(&self, start: usize, elements: &[T])

Uses env.Set{Type}ArrayRegion to set the contents of the java array from [start .. start + elements.len())

Provided Methods§

source

fn new_from<'env>(env: Env<'env>, elements: &[T]) -> Local<'env, Self>

Uses env.New{Type}Array + Set{Type}ArrayRegion to create a new java array containing a copy of “elements”.

source

fn get_region_as_vec(&self, range: impl RangeBounds<usize>) -> Vec<T>

Uses env.GetArrayLength + env.Get{Type}ArrayRegion to read the contents of the java array from range into a new Vec.

source

fn as_vec(&self) -> Vec<T>

Uses env.GetArrayLength + env.Get{Type}ArrayRegion to read the contents of the entire java array into a new Vec.

Object Safety§

This trait is not object safe.

Implementors§