IInstantSource 接口

定义

提供对当前即时的访问权限。

[Android.Runtime.Register("java/time/InstantSource", "", "Java.Time.IInstantSourceInvoker", ApiSince=34)]
public interface IInstantSource : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/time/InstantSource", "", "Java.Time.IInstantSourceInvoker", ApiSince=34)>]
type IInstantSource = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
派生
属性
实现

注解

提供对当前即时的访问权限。

此接口的实例用于访问当前即时的可插入表示形式。 例如,可使用 InstantSource 而非 System#currentTimeMillis()

此抽象的主要用途是允许根据需要插入备用即时源。 应用程序使用对象获取当前时间,而不是静态方法。 这可以简化测试。

因此,此接口不能保证结果实际上表示时间线上的当前即时。 相反,它允许应用程序提供当前即时的受控视图。

应用程序的最佳做法是传入 InstantSource 需要当前即时的任何方法。 依赖项注入框架是实现此目的的一种方法:

public class MyBean {
               private InstantSource source;  // dependency inject
               ...
               public void process(Instant endInstant) {
                 if (source.instant().isAfter(endInstant) {
                   ...
                 }
               }
             }

此方法允许替代源,例如 #fixed(Instant) fixed 或在 #offset(InstantSource, Duration) offset 测试期间使用。

工厂 system 方法基于最佳可用系统时钟提供源。 这可以使用,或者如果可用,则使用 System#currentTimeMillis()更高分辨率的时钟。

已在 17 中添加。

适用于 . 的 java.time.InstantSourceJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

属性

Handle

获取基础 Android 对象的 JNI 值。

(继承自 IJavaObject)
JniIdentityHashCode

返回包装实例的值 java.lang.System.identityHashCode()

(继承自 IJavaPeerable)
JniManagedPeerState

托管对等方的状态。

(继承自 IJavaPeerable)
JniPeerMembers

成员访问和调用支持。

(继承自 IJavaPeerable)
PeerReference

返回 JniObjectReference 包装的 Java 对象实例。

(继承自 IJavaPeerable)

方法

Disposed()

在释放实例时调用。

(继承自 IJavaPeerable)
DisposeUnlessReferenced()

如果没有对此实例的未完成引用,则调用 Dispose();否则不执行任何操作。

(继承自 IJavaPeerable)
Finalized()

在实例完成时调用。

(继承自 IJavaPeerable)
Fixed(Instant)

获取始终返回相同即时的源。

Instant()

获取源的当前即时。

Millis()

获取源的当前毫秒即时。

Offset(IInstantSource, Duration)

获取从指定源返回具有指定持续时间的即时的源。

SetJniIdentityHashCode(Int32)

设置由 JniIdentityHashCode. 返回的值。

(继承自 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

提供对当前即时的访问权限。

(继承自 IJavaPeerable)
SetPeerReference(JniObjectReference)

设置由 PeerReference. 返回的值。

(继承自 IJavaPeerable)
System()

获取使用最佳可用系统时钟返回当前即时的源。

Tick(IInstantSource, Duration)

获取从指定源截断到指定持续时间最接近的实例的源。

UnregisterFromRuntime()

取消注册此实例,以便运行时不会从将来 Java.Interop.JniRuntime+JniValueManager.PeekValue 的调用中返回它。

(继承自 IJavaPeerable)
WithZone(ZoneId)

返回具有指定时区的时钟。

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

提供对当前即时的访问权限。

GetJniTypeName(IJavaPeerable)

提供对当前即时的访问权限。

适用于