Tag: 引用

Java是否有’@’字符来转义字符串引号?

我的字符串中有双引号,在C#我会这样做: string blah = @”this is my “”text”; 我怎么用Java做到这一点?

如果==比较Java中的引用,为什么它使用这些字符串评估为true?

正如所述,==运算符比较对象引用以检查它们是否引用堆上的同一对象。 如果是这样,为什么我得到这段代码的“平等”? public class Salmon { public static void main(String[] args) { String str1 = “Str1”; String str2 = “Str1”; if (str1 == str2) { System.out.println(“Equal”); } else { System.out.println(“Not equal”); } } }

Java String变量设置 – 引用还是值?

以下Java代码段来自AP计算机科学实践考试。 String s1 = “ab”; String s2 = s1; s1 = s1 + “c”; System.out.println(s1 + ” ” + s2); 此代码的输出在BlueJ上是“abc ab”。 但是,其中一个可能的答案选择是“abc abc”。 答案可以取决于Java是否像原始类型(按值)或像对象(通过引用)设置字符串引用。 为了进一步说明这一点,让我们看一下原始类型的例子: int s1 = 1; int s2 = s1; // copies value, not reference s1 = 42; System.out.println(s1 + ” ” + s2); // prints “1 42” 但是,假设我们有持有余额的BankAccount 对象 。 […]

为什么java中不允许赋值给’this’?

我从编译器得到的错误是“赋值的左侧必须是变量”。 我的用例是深度复制,但并不真正相关。 在C ++中,可以分配给*this 。 问题不在于如何规避this分配。 这很简单,但更确切地说,决定不将其变为变量的理由是什么。 原因是技术性的还是概念性的? 我的猜测到目前为止 – 以随机方法重建Object的可能性容易出错(概念性),但技术上可行。 编辑请限制“因为java规范如此说”的变化。 我想知道决定的原因

垃圾收集器是否可以处理java中的静态变量或方法?

我正在创建一个示例演示程序,让我明白如何使用垃圾收集器释放静态变量的引用,java中的方法? 我正在使用Weak Reference来防止垃圾收集器。 class级Sample public class Sample { private static String userName; private static String password; static { userName = “GAURAV”; password = “password”; } public static String getUserName(){ return userName; } public static String getPassword(){ return password; } } class级User import java.lang.ref.WeakReference; public class User { public static void main(String[] args) { /** * […]

Java中的字符串:equals vs ==

可能重复: 如何比较Java中的字符串? String s1 = “andrei”; String s2 = “andrei”; String s3 = s2.toString(); System.out.println((s1==s2) + ” ” + (s2==s3)); 给出以下代码为什么第二个比较s2 == s3为真? 什么是s2.toString()返回? 实际位于何处(s2.toString()) ?