Поделиться через


MethodHandles Класс

Определение

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

[Android.Runtime.Register("java/lang/invoke/MethodHandles", ApiSince=26, DoNotGenerateAcw=true)]
public class MethodHandles : Java.Lang.Object
[<Android.Runtime.Register("java/lang/invoke/MethodHandles", ApiSince=26, DoNotGenerateAcw=true)>]
type MethodHandles = class
    inherit Object
Наследование
MethodHandles
Атрибуты

Комментарии

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются. Они делятся на несколько категорий: <методы ul><li>Lookup, которые помогают создавать дескриптора методов и полей. <методы li>Combinator, которые объединяют или преобразуют существующие дескрипторы методов в новые. <li>Другие методы фабрики для создания дескрипторов методов, которые эмулируют другие распространенные операции JVM или шаблоны потока управления. </ul>

Добавлено в версии 1.7.

Документация по Java для java.lang.invoke.MethodHandles.

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Конструкторы

MethodHandles(IntPtr, JniHandleOwnership)

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

Свойства

Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
JniIdentityHashCode

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

(Унаследовано от Object)
JniPeerMembers

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

PeerReference

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

(Унаследовано от Object)
ThresholdClass

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

ThresholdType

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

Методы

ArrayConstructor(Class)

Создает дескриптор метода, создающий массивы требуемого типа, как будто по байт-коду anewarray .

ArrayElementGetter(Class)

Создает дескриптор метода, предоставляющий доступ для чтения к элементам массива.

ArrayElementSetter(Class)

Создает дескриптор метода, предоставляющий доступ на запись к элементам массива.

ArrayElementVarHandle(Class)

Создает VarHandle, предоставляющий доступ к элементам массива типов arrayClass.

ArrayLength(Class)

Создает дескриптор метода, возвращающий длину массива, как будто по байт-коду arraylength .

ByteArrayViewVarHandle(Class, ByteOrder)

Создает VarHandle, предоставляющий доступ к элементам byte[] массива, просматриваемого как если бы он был другим примитивным типом массива, например int[] или long[].

ByteBufferViewVarHandle(Class, ByteOrder)

Создает VarHandle, предоставляющий доступ к элементам ByteBuffer представления, как если бы это был массив элементов другого примитивного типа byteкомпонента, например int[] или long[].

CatchException(MethodHandle, Class, MethodHandle)

Делает дескриптор метода, который адаптирует дескриптор целевого метода, запустив его внутри обработчика исключений.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
CollectArguments(MethodHandle, Int32, MethodHandle)

Адаптирует целевой дескриптор метода путем предварительной обработки под последовательности его аргументов с помощью фильтра (другой дескриптор метода).

Constant(Class, Object)

Создает дескриптор метода запрошенного типа возвращаемого значения, который возвращает заданное константное значение при каждом вызове.

CountedLoop(MethodHandle, MethodHandle, MethodHandle, MethodHandle)

Создает цикл, который подсчитывает диапазон чисел.

CountedLoop(MethodHandle, MethodHandle, MethodHandle)

Создает цикл, который выполняет заданное число итераций.

Dispose()

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

(Унаследовано от Object)
Dispose(Boolean)

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

(Унаследовано от Object)
DoWhileLoop(MethodHandle, MethodHandle, MethodHandle)

do-while Создает цикл из инициализатора, текста и предиката.

DropArguments(MethodHandle, Int32, Class[])

Создает дескриптор метода, который будет удалять некоторые фиктивные аргументы перед вызовом другого заданного целевого дескриптора.

DropArguments(MethodHandle, Int32, IList<Class>)

Создает дескриптор метода, который будет удалять некоторые аргументы заполнителя перед вызовом другого заданного целевого дескриптора метода.

DropArgumentsToMatch(MethodHandle, Int32, IList<Class>, Int32)

Адаптирует дескриптор целевого метода для сопоставления заданного списка типов параметров.

DropReturn(MethodHandle)

Удалите возвращаемое значение целевого дескриптора (при наличии).

Empty(MethodType)

Создает дескриптор метода запрошенного типа, который игнорирует любые аргументы, не делает ничего и возвращает подходящее значение по умолчанию в зависимости от типа возвращаемого значения.

Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
ExactInvoker(MethodType)

Создает специальный <дескриптор метода em>invoker/em>, который можно использовать для вызова любого дескриптора< метода заданного типа, как будто.MethodHandle#invokeExact invokeExact

ExplicitCastArguments(MethodHandle, MethodType)

Создает дескриптор метода, который адаптирует тип данного дескриптора метода к новому типу по парным аргументам и преобразованию возвращаемого типа.

FilterArguments(MethodHandle, Int32, MethodHandle[])

Адаптирует целевой дескриптор метода путем предварительной обработки одного или нескольких его аргументов, каждый из которых имеет собственную унарную функцию фильтра, а затем вызывает целевой объект с каждым предварительно обработанным аргументом, замененным результатом соответствующей функции фильтра.

FilterReturnValue(MethodHandle, MethodHandle)

Адаптирует целевой дескриптор метода путем последующей обработки возвращаемого значения (при наличии) с фильтром (другим дескриптором метода).

FoldArguments(MethodHandle, Int32, MethodHandle)

Адаптирует дескриптор целевого метода путем предварительной обработки некоторых его аргументов, начиная с заданной позиции, а затем вызывая целевой объект с результатом предварительной обработки, вставленным в исходную последовательность аргументов непосредственно перед сложенными аргументами.

FoldArguments(MethodHandle, MethodHandle)

Адаптирует дескриптор целевого метода путем предварительной обработки некоторых его аргументов, а затем вызывает целевой объект с результатом предварительной обработки, вставленным в исходную последовательность аргументов.

GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
GuardWithTest(MethodHandle, MethodHandle, MethodHandle)

Делает дескриптор метода, который адаптирует дескриптор целевого метода, охраняя его с помощью теста, логического дескриптора метода.

Identity(Class)

Создает дескриптор метода, который возвращает его единственный аргумент при вызове.

InsertArguments(MethodHandle, Int32, Object[])

Предоставляет дескриптор целевого метода с одним или несколькими <аргументами<> с привязкой em>заранее к вызову дескриптора метода.

InvokeLookup()

Lookup lookup object Возвращает полную возможность эмулировать все поддерживаемые байт-коды поведения вызывающего объекта.

Invoker(MethodType)

Создает специальный <дескриптор метода em>invoker/em>, который можно использовать для вызова любого дескриптора< метода, совместимого с заданным типом, как будто.MethodHandle#invoke invoke

IteratedLoop(MethodHandle, MethodHandle, MethodHandle)

Создает цикл, диапазоны по значениям, создаваемым объектом Iterator<T>.

JavaFinalize()

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
Loop(MethodHandle[][])

Создает дескриптор метода, представляющий цикл с несколькими переменными цикла, которые обновляются и проверяются при каждой итерации.

Notify()

Пробуждение одного потока, ожидающего монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
PermuteArguments(MethodHandle, MethodType, Int32[])

Создает дескриптор метода, который адаптирует последовательность вызовов заданного дескриптора метода к новому типу, переупорядочение аргументов.

PrivateLookupIn(Class, MethodHandles+Lookup)

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

PublicLookup()

Lookup lookup object Возвращает значение, которое является доверенным минимально.

ReflectAs(Class, MethodHandle)

Выполняет снятый "трещина" прямого дескриптора метода.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SpreadInvoker(MethodType, Int32)

Создает дескриптор метода, который вызовет любой дескриптор метода заданного type, с заданным числом конечных аргументов, замененных одним Object[] конечным массивом.

TableSwitch(MethodHandle, MethodHandle[])

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

ThrowException(Class, Class)

Создает дескриптор метода, который будет вызывать исключения заданного.exType

ToArray<T>()

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
TryFinally(MethodHandle, MethodHandle)

Делает дескриптор метода, который адаптирует target дескриптор метода, завернув его в try-finally блок.

UnregisterFromRuntime()

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

(Унаследовано от Object)
VarHandleExactInvoker(VarHandle+AccessMode, MethodType)

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

VarHandleInvoker(VarHandle+AccessMode, MethodType)

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>.

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
WhileLoop(MethodHandle, MethodHandle, MethodHandle)

while Создает цикл из инициализатора, текста и предиката.

Zero(Class)

Создает дескриптор константного метода запрошенного возвращаемого типа, который возвращает значение по умолчанию для этого типа при каждом вызове.

Явные реализации интерфейса

IJavaPeerable.Disposed()

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

(Унаследовано от Object)
IJavaPeerable.Finalized()

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

GetJniTypeName(IJavaPeerable)

Этот класс состоит исключительно из статических методов, которые работают с дескрипторами методов или возвращаются.

Применяется к