sig
  type e = java_char
  type 'a t = 'a java_char_array
  val make : java_int -> JavaCharArray.e java_char_array
  val init :
    java_int ->
    (java_int -> JavaCharArray.e) -> JavaCharArray.e java_char_array
  external length : JavaCharArray.e java_char_array -> java_int
    = "java array length char"
  external get :
    JavaCharArray.e java_char_array -> java_int -> JavaCharArray.e
    = "java array get char"
  external set :
    JavaCharArray.e java_char_array -> java_int -> JavaCharArray.e -> unit
    = "java array set char"
  val append :
    JavaCharArray.e java_char_array ->
    JavaCharArray.e java_char_array -> JavaCharArray.e java_char_array
  val concat :
    JavaCharArray.e java_char_array list -> JavaCharArray.e java_char_array
  val sub :
    JavaCharArray.e java_char_array ->
    java_int -> java_int -> JavaCharArray.e java_char_array
  val copy :
    JavaCharArray.e java_char_array -> JavaCharArray.e java_char_array
  val fill :
    JavaCharArray.e java_char_array ->
    java_int -> java_int -> JavaCharArray.e -> unit
  val blit :
    JavaCharArray.e java_char_array ->
    java_int ->
    JavaCharArray.e java_char_array -> java_int -> java_int -> unit
  val to_list : JavaCharArray.e java_char_array -> JavaCharArray.e list
  val of_list : JavaCharArray.e list -> JavaCharArray.e java_char_array
  val iter :
    (JavaCharArray.e -> unit) -> JavaCharArray.e java_char_array -> unit
  val map :
    (JavaCharArray.e -> JavaCharArray.e) ->
    JavaCharArray.e java_char_array -> JavaCharArray.e java_char_array
  val iteri :
    (java_int -> JavaCharArray.e -> unit) ->
    JavaCharArray.e java_char_array -> unit
  val mapi :
    (java_int -> JavaCharArray.e -> JavaCharArray.e) ->
    JavaCharArray.e java_char_array -> JavaCharArray.e java_char_array
  val fold_left :
    ('-> JavaCharArray.e -> 'a) ->
    '-> JavaCharArray.e java_char_array -> 'a
  val fold_right :
    (JavaCharArray.e -> '-> 'a) ->
    JavaCharArray.e java_char_array -> '-> 'a
  val of_ocaml : JavaCharArray.e array -> JavaCharArray.e java_char_array
  val to_ocaml : JavaCharArray.e java_char_array -> JavaCharArray.e array
  external to_object :
    JavaCharArray.e java_char_array -> java'lang'Object java_instance
    = "java array to_object char"
  external of_object :
    java'lang'Object java_instance -> JavaCharArray.e java_char_array
    = "java array of_object char"
  val equals :
    JavaCharArray.e java_char_array ->
    JavaCharArray.e java_char_array -> bool
  val hash_code : JavaCharArray.e java_char_array -> java_int
  val to_string : JavaCharArray.e java_char_array -> JavaString.t
  val null : JavaCharArray.e java_char_array
  external is_null : JavaCharArray.e java_char_array -> bool = "java is_null"
  external is_not_null : JavaCharArray.e java_char_array -> bool
    = "java is_not_null"
  val wrap :
    JavaCharArray.e java_char_array -> JavaCharArray.e java_char_array option
  val unwrap :
    JavaCharArray.e java_char_array option -> JavaCharArray.e java_char_array
end