AM
Size: a a a
AM
AN
AM
AN
AL
public abstract class AbstractFoo {
protected AbstractFoo(Builder builder) { /*...*/ }
protected static abstract class Builder { /*...*/ }
}blic class ConcreteFoo extends AbstractFoo {
protected ConcreteFoo(Builder builder) {
super(builder);
/*...*/
}
public static Builder builder() { return new Builder(); }
public static class Builder extends AbstractFoo.Builder { /*...*/ }
}
Как видно из определения public класс ConcreteFoo.Builder наследуетсяs KFooалкивался кто-либо с подобным?
private constructor (builder: Builder) : AbstractFoo(builder) {
// 'public' subclass exposes its 'protected (in AbstractFoo)' supertype Builder
class Builder : AbstractFoo.Builder()
}
Ст
VP
public abstract class AbstractFoo {
protected AbstractFoo(Builder builder) { /*...*/ }
protected static abstract class Builder { /*...*/ }
}blic class ConcreteFoo extends AbstractFoo {
protected ConcreteFoo(Builder builder) {
super(builder);
/*...*/
}
public static Builder builder() { return new Builder(); }
public static class Builder extends AbstractFoo.Builder { /*...*/ }
}
Как видно из определения public класс ConcreteFoo.Builder наследуетсяs KFooалкивался кто-либо с подобным?
private constructor (builder: Builder) : AbstractFoo(builder) {
// 'public' subclass exposes its 'protected (in AbstractFoo)' supertype Builder
class Builder : AbstractFoo.Builder()
}
Ст
AL
КР
@OptIn(ExperimentalContracts::class)
inline fun <reified T : Any?> isNullable(): Boolean {
contract {
returns(true) implies(null is T)
}
return null is T
}
Boolean был false, а для Boolean? был true.BP
@OptIn(ExperimentalContracts::class)
inline fun <reified T : Any?> isNullable(): Boolean {
contract {
returns(true) implies(null is T)
}
return null is T
}
Boolean был false, а для Boolean? был true.КР
BP
КР
КР
T не наллбл тип, и передать в другую функцию, которая требует reifered T : Any.BP
BP
T не наллбл тип, и передать в другую функцию, которая требует reifered T : Any.BP
VP
T не наллбл тип, и передать в другую функцию, которая требует reifered T : Any.BP
BP
VP