Я получаю следующее предупреждение о компиляции:
Type mismatch.
Required: Any
Found: Customer?
при попытке вызвать метод toMono()
для экземпляра Customer
, допускающего обнуление:
@Service
class CustomerServiceImpl @Autowired constructor(
val customers: ConcurrentHashMap<Int, Customer>
) : CustomerService {
override fun getCustomer(id: Int): Mono<Customer?> {
return customers[id].toMono()
}
}
CustomerService :
interface CustomerService {
fun getCustomer(id: Int): Mono<Customer?>
}
AppConfig:
@Configuration
class AppConfiguration {
companion object {
val initialCustomers: Array<Customer> = arrayOf(
Customer(1, "Jerry"),
Customer(2, "James"),
Customer(3, "John")
)
}
@Bean
fun createCustomers() = ConcurrentHashMap<Int, Customer>(
initialCustomers.associateBy(Customer::id)
)
}
Нет такого предупреждения компиляции, когда я определяю тип возврата в интерфейсе CustomerService
как не -null Customer
экземпляр (: Mono<Customer>
). Что мне здесь не хватает? Любая помощь будет принята с благодарностью. Пожалуйста, дайте мне знать, если я должен приложить что-нибудь еще. Спасибо!