==到目前为止,我一直在我的程序中使用运算符来比较我的所有字符串.但是,我遇到了一个错误,将其中一个更改为了.equals(),并修复了该错误.
是==坏?什么时候应该不应该使用它?有什么不同?
String Pool是什么意思?以下声明之间有什么区别:
String s = "hello";
String s = new String("hello");
Run Code Online (Sandbox Code Playgroud)
JVM存储这两个字符串有什么区别吗?
我似乎在标准的Java HashMap中获得了重复的键.通过"复制",我的意思是键的equals()方法相同.这是有问题的代码:
import java.util.Map;
import java.util.HashMap;
public class User {
private String userId;
public User(String userId) {
this.userId = userId;
}
public boolean equals(User other) {
return userId.equals(other.getUserId());
}
public int hashCode() {
return userId.hashCode();
}
public String toString() {
return userId;
}
public static void main(String[] args) {
User arvo1 = new User("Arvo-Part");
User arvo2 = new User("Arvo-Part");
Map<User,Integer> map = new HashMap<User,Integer>();
map.put(arvo1,1);
map.put(arvo2,2);
System.out.println("arvo1.equals(arvo2): " + arvo1.equals(arvo2));
System.out.println("map: " + map.toString());
System.out.println("arvo1 hash: " + …Run Code Online (Sandbox Code Playgroud) 我知道StringBuilder应优先于String,因为String将保存在常量字符串池中,并为其分配新值不会覆盖以前的值.但是,StringBuilder是一个覆盖其先前值的对象.
另外如果我在Hibernate的支持类中有String类型的变量,我应该使用StringBuilder吗?怎么样?
...
Result result = (Result) criteria.list().get(0);
class Result{
String name;
String fname;
...
}
Run Code Online (Sandbox Code Playgroud)有一个面试问题:
将在此声明中创建多少个实例:
String str1 = new String ("abc")
Run Code Online (Sandbox Code Playgroud)
答案是2:str1和"abc".
那是对的吗?
好的,那么当你这样做时会发生什么.
A a1=new A();
A a2=new A();
A a3=new A();
Run Code Online (Sandbox Code Playgroud)
我上传了两张关于我想象的图片.你能告诉我什么图片是真的吗?
第一张图片:

第二张图:

我一直认为第一张照片是真的,但现在我真的不知道,我怀疑第二张照片是真的.
另外,你能解释一下每一方的作用吗?比如,"A a1"做什么以及"新A()"做什么?
谢谢.
我学会了string.trim()删除前导和尾随空格.但在我的情况下它不起作用我尝试下面的代码但输出是前导和尾随空格.但我的期望是没有前导和尾随空间的文本.这是我的代码.
String s = " Hello Rais ";
s += " Welcome to my World ";
s.trim( );
System.out.println(s);
Run Code Online (Sandbox Code Playgroud)
请帮我
String s=new String("Computer");
if(s=="Computer")
System.out.print("equals A");
if(s.equals("Computer"))
System.out.print("Equal B");
Run Code Online (Sandbox Code Playgroud)
输出是 Equal B
现在为什么 ==不生产equals A
是什么instanceof?
只是好奇我将如何添加一个字母或字符预先存在string.
这是我想要做的,
我正在取一个密钥及其密文并减去它们的值(存储在arraylist中)以找到明文值(我得到一个int,然后使用它来查找arraylist中的String值)然后继续这样做两个字符串中的每个字母(密码和密钥).
这是可能的,还是我必须使用substring这些或类似的东西.
任何关于如何做到这一点的建议,或者对我最初的问题的答案都非常感谢!
谢谢,
Java问题:假设str是一个String变量.语句str = new String("Hello World"); 相当于?
这是我的选择......
一个.
new String = "Hello World";
Run Code Online (Sandbox Code Playgroud)
C.
str = "Hello World";
Run Code Online (Sandbox Code Playgroud)
湾
String new = "Hello World";
Run Code Online (Sandbox Code Playgroud)
d.
"Hello World";
Run Code Online (Sandbox Code Playgroud) 在Java中,我在下面编写了string trim()方法的代码.
if(" String ".trim() == "String")
System.out.println("Equal");
else
System.out.println("Not Equal");
Run Code Online (Sandbox Code Playgroud)
它给出了Not Equal我理解的输出,因为" String ".trim()它返回了新的String对象引用.
但是当我修剪和比较没有空格时,它会提供输出Equals.
if("String".trim() == "String")
System.out.println("Equal");
else
System.out.println("Not Equal");
Run Code Online (Sandbox Code Playgroud)
如果String没有空格,那么trim() 返回什么方法?我知道equals()我可以使用但是在我的考试中我得到了这个问题.