当前位置: 首页 > 知识库问答 >
问题:

Java字符串内部为空

锺离阿苏
2023-03-14

我有一个结果集,其中列出了他们所在的证券交易所和国家。尽管如此,在我的数据库中,并不是每个Cxchange都有一个country\u id,因此在创建Exchange对象时,其中许多对象都有country\u id和country\u title空值。由于内存优化,我计划对所有重复字符串(国家、货币等)进行内部存储,但注意到,我得到了一个NullPointerException,这是逻辑上的。是否有一些解决方法,如何避免intern重复字符串,同时也不获取NPE?非常感谢。

共有2个答案

方坚壁
2023-03-14

谢谢你们,应用程序中使用的字符串要多得多,国家和交易所只是一个例子。总共有大约500k个字符串,其中50k是独一无二的,即大约30mb被浪费了。没什么大不了的。

经过一些研究,我不会实习strings,因为该应用程序应该在装备精良的PC上运行:)

公羊玉泽
2023-03-14

一些选项是:

考虑到世界上只有不到200个国家和不到那么多的交易所(全球只有60家主要交易所),向您的交易所提供缺失的数据将是微不足道的。

用java或通过查询以编程方式提供默认值,例如,当数据库中的国家/地区id为空时,将其分配给国家/地区id,并将其分配给国家/地区标题。

不必费心去实习,因为只有这么少的条件,这样的微观优化将不会产生可测量的效果。

 类似资料:
  • 问题内容: 我正在尝试找到这个问题的第三种解决方案。 我不明白为什么这个不打印。 当然,由于使用字符串实习,被修改的实例与?方法中使用的实例完全相同。 我想念什么? 编辑 @yshavit有趣的一点是,如果您添加该行 在之前,输出为 问题答案: 可以说这是HotSpot JVM错误。 问题在于字符串字面量的内部机制 。 在常量池解析期间,将懒惰地创建字符串文字的实例。 最初,字符串常量在常量池中由

  • 本文向大家介绍Java判断字符串为空、字符串是否为数字,包括了Java判断字符串为空、字符串是否为数字的使用技巧和注意事项,需要的朋友参考一下 关于 String 的判空: 注:“==”比较两个变量本身的值,即两个对象在内存中的首地址。而“equals()”比较字符串中所包含的内容是否相同。第二种写法中,一旦 selection 真的为 null,则在执行 equals 方法的时候会直接报空指针异

  • 问题内容: 如何取一个并制作一个副本,但没有第一个String?示例:如果我有这个… 我如何制作一个像字符串集合颜色一样但没有红色的新字符串呢? 问题答案: 您可以使用:

  • 问题内容: 我在我的系统中将电话号码存储为VARCHAR2,以允许用户选择在电话号码前输入“ +”字符。 我的regexp完美地做到了这一点,但是当将数字存储在数据库中时,我想去除用户可能输入的所有空格。 我的正则表达式允许以下格式 我知道我可以通过不让用户在数字中添加空格来解决问题,但是我个人经验表明,由于客户端的某些愚蠢格式而导致验证错误令人沮丧。我曾尝试在INSERT / UPDATE触发器

  • 问题内容: 我需要将一个String拆分为单个字符String的数组。 例如,拆分“ cat”将得到数组“ c”,“ a”,“ t” 问题答案: 这将产生

  • 问题内容: 就像标题所说的那样,我正在尝试在Java中将字符串“ test”编码为base32字符串“ ORSXG5A =“。 我在网上搜索时发现的所有类都是使用32位从字符串编码为数组的类,但是显然这不是我想要的。 很抱歉这个新手问题。 问题答案: Apache commons编解码器提供了一个可以执行此操作的类 版画 您可以在此处下载。