我有一个包含股票交易所和它们所居住国家的列表的ResultSet。但是,在我的数据库中,并非每个Cxchange都有一个country_id,因此在创建Exchange对象时,其中的许多对象都具有country_id和country_title空值。由于内存的优化,我计划对所有重复的String(国家,货币等)进行实习,但是注意到,我得到了NullPointerException,这是逻辑上的。有一些解决方法,如何避免使用intern重复字符串并且也不会获得NPE?谢谢。

最佳答案

一些选项是:

鉴于国家/地区少于200个,并且交易所少于这个国家(全球只有60个主要交易所),因此将丢失的数据提供给您的交易所将是微不足道的。

在Java中或通过查询以编程方式提供默认值,例如,当0在数据库中为country_id时,将""分配给null,将分配给country_title。

不要打扰实习-这么少的字符串,这样的微优化将没有可测量的效果。

10-08 13:08