Permalink
Browse files

Merge pull request #55 from armansimonyan13/master

Update generics.md
  • Loading branch information...
phplego committed Nov 2, 2017
2 parents d8f0a5b + db74138 commit 65d5c3d9f27cff385d169eff77e02697483b8d67
Showing with 1 addition and 1 deletion.
  1. +1 −1 generics.md
View
@@ -290,7 +290,7 @@ Kotlin предоставляет так называемый **star-projection*
- For `Foo<T>`, where `T` is an invariant type parameter with the upper bound `TUpper`, `Foo<*>` is equivalent to `Foo<out TUpper>` for reading values and to `Foo<in Nothing>` for writing values.
-->
- Для `Foo<out T>`, где `T` — ковариантный параметризованный тип с верхней границей `TUpper`, `Foo<*>` является эквивалентом `Foo<out TUpper>`. Это значит, что когда `T` неизвестен, вы можете безопасно *читать* значения типа `TUpper` из `Foo<*>`.
- Для `Foo<in T>`, где `T`ковариантный параметризованный тип, `Foo<*>` является эквивалентом `Foo<in Nothing>`. Это значит, что вы не можете безопасно *писать* в `Foo<*>` при неизвестном `T`.
- Для `Foo<in T>`, где `T`контравариантный параметризованный тип, `Foo<*>` является эквивалентом `Foo<in Nothing>`. Это значит, что вы не можете безопасно *писать* в `Foo<*>` при неизвестном `T`.
- Для `Foo<T>`, где `T` — инвариантный параметризованный тип с верхней границей `TUpper`, `Foo<*>` является эквивалентом `Foo<out TUpper>` при чтении значений и `Foo<in Nothing>` при записи значений.
<!--If a generic type has several type parameters each of them can be projected independently.

0 comments on commit 65d5c3d

Please sign in to comment.