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 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

属性

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)

提供对当前即时的访问。

适用于