我有分隔符的String []
private static final String[] LEFT_DELIMITER = {
"PUT", "CALL",
"JAN", "FEB", "MAR", "APR", "MAY", "JUN",
"JUL", "AUG", "SEP", "OCT", "NOV", "DEC"
};
当我使用旧的for循环遍历此String []时,索引0处的条目是JAN而不是PUT。但是,如果我在我使用它的方法中声明String []
String[] delim = {
"PUT", "CALL",
"JAN", "FEB", "MAR", "APR", "MAY", "JUN",
"JUL", "AUG", "SEP", "OCT", "NOV", "DEC"
};
索引0处的结果是预期的PUT。
为什么按日历月排序而另一个不排序?我想要的只是让数组保存我放置它们的项目。有没有办法做到这一点作为常数?
答案 0 :(得分:1)
我不这么认为。当我读到这个问题时,我感到非常震惊,但是一个快速的单元测试证明确实一切正常。
import org.junit.Assert;
public class Test {
private static final String[] LEFT_DELIMITER = {
"PUT", "CALL",
"JAN", "FEB", "MAR", "APR", "MAY", "JUN",
"JUL", "AUG", "SEP", "OCT", "NOV", "DEC"
};
@org.junit.Test
public void test() {
String[] delim = {
"PUT", "CALL",
"JAN", "FEB", "MAR", "APR", "MAY", "JUN",
"JUL", "AUG", "SEP", "OCT", "NOV", "DEC"
};
for (int i = 0; i < LEFT_DELIMITER.length; i++) {
Assert.assertEquals(LEFT_DELIMITER[i], delim[i]);
}
}
}
您是否100%确定您编写的代码最终会出现在已编译的类文件中?我认为你认为你运行某个代码,但确实运行了一些不同的东西 - 也许是一个旧版本?