【发布时间】:2013-11-01 15:12:09
【问题描述】:
我有一个名为 myStrings 的字符串 []。我不能将它转换为其他任何东西,它必须保持一个字符串数组。但是,我需要再添加一个字符串,所以我编写了这个方法。我确信有一种更好、更快、内存占用更少的方法可以做到这一点,但我看不到。谁能提供一个 java api 唯一的方法来比我更好地解决这个问题?我正在使用 Java 1.7
String[] myStrings; // this gets set to real values later in program.
public void addToMyStrings(String addMe){
List<String> list = Arrays.asList( myStrings );
if( list != null )
{
list.add( addMe);
myStrings = list.toArray( new String[0] );
}
}
【问题讨论】:
-
你为什么要使用这种扭曲的逻辑?
-
你为什么不直接使用
ArrayList? -
基于“我需要再添加一个字符串”,听起来您正在热修补您遇到的问题。请详细说明您决定这样做的原因。
-
我知道 ArrayList 似乎可以解决所有问题,但其中一些不是我的代码,就像你说的那样,我正在修补这里。
-
我猜你对正在发生的事情有了更好的理解。在这种情况下,我的规则是不要热补丁,因为它只会在以后产生问题。我实际上会研究您尝试对其进行热修复的逻辑,并找出为什么您的字符串数组具有 -1 必要元素。这可能是这里的问题,也可能是该逻辑中的问题。
标签: java arrays string memory-efficient