Tag: string concatenation

StringBuffer / StringBuilder何时未被编译器隐式使用?

我听说编译器(或者它是JVM?)会自动使用StringBuilder进行一些字符串连接。 什么时候才能明确宣布一个? 我不需要StringBuffer来保证线程安全。 谢谢。

在准备好的语句中连接字符串的方法

我有一个Web应用程序,需要根据用户的输入将其数据存储在特定的表中。 例如,如果用户输入代码“A”,他们的数据将保存到DatabaseA,而如果用户输入代码“B”,则数据将保存到DatabaseB。 我需要知道是否有办法操作预准备语句,以便将代码连接到预准备语句字符串的末尾。 我有3个表,MachineProblem2A,2B和2C。 有没有办法简单地将代码连接到我下面的sql字符串的末尾? String sql=”select * from MachineProblem2″; PreparedStatement pstmnt= conn.prepareStatement(sql); 我尝试了不同的方法,如“select * from MachineProblem2”+ employeeCode但它不起作用。 我试过“select * from MachineProblem2”.concat(employeeCode)它也不能正常工作。 我甚至尝试过我在条件语句中创建的函数,它依赖于employeeCode,例如if(employeeCode.equals(“A”)返回“select * from MachineProblem2A” 所有这些都给了我一个空指针exception或java.lang.InstantiationException:bean employeeRecords在范围错误中找不到 。 我在sqlRet()和getAllRecords()上获得Null指针,但数据输入正确存储在指定的表中。 我在检索输出时遇到问题。 private String sqlInsert(){ if(employeeCode.equals(“A”) && employeeSales > 2500){ return “insert into MachineProblem2A(EmployeeName, EmployeeCode, EmployeeSales, EmployeeGross, EmployeeCommission, EmployeeResult)”+ “values(?,?,?,?,?,?)”; }else if(employeeCode.equals(“B”) && employeeSales > 2000){ […]

为什么在字符串输出中出现空值?

当我执行以下代码时,输​​出为“nullHelloWorld”。 Java如何处理null? import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be “Main” only if the class is public. */ class Ideone { public static void main (String[] args) throws java.lang.Exception { String str=null; str+=”Hello World”; System.out.println(str); } }

内存中创建了多少个字符串?

说我有这个String表达式 String hi = “Tom” + “Brady” + “Goat” 我知道字符串池“允许运行时通过在池中保留不可变字符串来节省内存” 字符串池 字符串池中将创建多少个字符串? 我最初的猜测是5 – “Tom” , “Brady” , “Goat” , “TomBrady” , “TomBradyGoat” ,因为String连接的操作顺序(从左到右?)或者它只是最终结果,“ TomBradyGoat“,它存储在字符串池中?

primitive-boolean To String concatenation / conversion

这是如何运作的? 我似乎无法找到答案。 boolean bool=true; System.out.println(“the value of bool is : ” + true); //or System.out.println(“the value of bool is : ” + bool); 幕后发生的事情是什么? 如何将布尔值转换为String,因为布尔值不能隐式类型转换? 是否涉及Autoboxing / Unboxing ? 是否以某种方式涉及toString()或String.valueOf()等方法?

为什么char +另一个char =一个奇怪的数字

这是代码片段: public static void main (String[]arg) { char ca = ‘a’ ; char cb = ‘b’ ; System.out.println (ca + cb) ; } 输出是: 195 为什么会这样? 我认为’a’ + ‘b’可以是”ab” , “12”或3 。 这里发生了什么?

java字符串连接和实习

问题1 String a1 = “I Love” + ” Java”; String a2 = “I Love ” + “Java”; System.out.println( a1 == a2 ); // true String b1 = “I Love”; b1 += ” Java”; String b2 = “I Love “; b2 += “Java”; System.out.println( b1 == b2 ); // false 在第一种情况下,我理解它是两个字符串文字的串联,因此结果“I Love Java”将被实现,结果为真。 但是,我不确定第二种情况。 问题2 String […]

字符串生成器与字符串连接

使用字符串生成器而不是纯字符串连接有什么好处和权衡? new StringBuilder(32).append(str1) .append(” test: “) .append(val) .append(” is changed”) .toString(); vs说 str1 + ” test: ” + val + ” is changed”. str1是一个随机的10个字符串。 str2是一个随机的8个字符串。