MethodHandles.Lookup.FindStatic(Class, String, MethodType) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Genera un identificador de método para un método estático.
[Android.Runtime.Register("findStatic", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)]
public Java.Lang.Invoke.MethodHandle FindStatic (Java.Lang.Class refc, string name, Java.Lang.Invoke.MethodType type);
[<Android.Runtime.Register("findStatic", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)>]
member this.FindStatic : Java.Lang.Class * string * Java.Lang.Invoke.MethodType -> Java.Lang.Invoke.MethodHandle
Parámetros
- refc
- Class
la clase desde la que se tiene acceso al método
- name
- String
el nombre del método
- type
- MethodType
el tipo del método
Devoluciones
el identificador de método deseado
- Atributos
Comentarios
Genera un identificador de método para un método estático. El tipo del identificador de método será el del método . (Dado que los métodos estáticos no toman receptores, no hay ningún argumento de receptor adicional insertado en el tipo de identificador de método, como sería con #findVirtual findVirtual
o #findSpecial findSpecial
). El método y todos sus tipos de argumentos deben ser accesibles para el objeto de búsqueda.
El identificador de método devuelto tendrá la aridad de variable MethodHandle#asVarargsCollector si y solo si se establece el bit modificador de arity de la variable del método (0x0080
).
Si se invoca el identificador de método devuelto, se inicializará la clase del método, si aún no se ha inicializado.
<b>Ejemplo:</b><blockquote>
{@code
import static java.lang.invoke.MethodHandles.*;
import static java.lang.invoke.MethodType.*;
...
MethodHandle MH_asList = publicLookup().findStatic(Arrays.class,
"asList", methodType(List.class, Object[].class));
assertEquals("[x, y]", MH_asList.invoke("x", "y").toString());
}
</blockquote>
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.