我可能会走很长的路要走,希望我可以不用代码来解释这一点,因为代码到处都是。
我想要的是一个字符串
static String locationOneStr = new String ("res/.png");
static StringBuilder locationOneStrBuilder = new StringBuilder(locationOneStr);
它包含URL的基本形式,以后我想调用它。
后来出现的代码找到位于位置0或“ locationOne”的数字,然后交换机选择要使用的代码:如果为0,则在.png之前插入0;如果其为1,则插入1,依此类推。
public static StringBuilder locationOneNumber(StringBuilder forCharConv, StringBuilder locationOneStrBuilder) {
char localChar = forCharConv.charAt(0);
switch (localChar) {
case '0':
BpmCalcFrame.locationOneStrBuilder.insert(3,"0");
System.out.println("Zero");
break;
/*
*
* Other Cases Omitted
*/
default:
System.out.println("There is no valid input!");
break;
}
return;
}
我的问题是开关必须返回一些东西。但是,我用作测试环境的jframe期望URL使用字符串。
JLabel locationOne = new JLabel("Image 1");
locationOne.setBackground(Color.WHITE);
locationOne.setIcon(new ImageIcon(ArrayComparison.locationOneNumber(forCharConv, locationOneStrBuilder)));
locationOne.setBounds(172, 45, 36, 68);
contentPane.add(locationOne);
我正在使用StringBuilder,因为字符串会占用内存,但是如果我必须将StringBuilder转换为String,那将无法使用StringBuilder
我是用错误的方式处理还是真的必须转换回字符串?这意味着在整个程序生命周期中,我平均每秒要制作2个新对象。
有没有一种方法可以在不创建新对象的情况下将StringBuilder的实例创建为String?
一秒钟担心两个新对象是过早的优化。
您的JVM花费的时间可能不到十分之一毫秒。
首先编写清晰明了的代码,然后再优化性能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句