相关疑难解决方法(0)

如何比较Java中的字符串?

==到目前为止,我一直在我的程序中使用运算符来比较我的所有字符串.但是,我遇到了一个错误,将其中一个更改为了.equals(),并修复了该错误.

==坏?什么时候应该不应该使用它?有什么不同?

java string equality

726
推荐指数
23
解决办法
376万
查看次数

Java和.NET字符串文字在哪里?

关于 .NET中字符串文字的最新问题引起了我的注意.我知道字符串文字被实习,因此具有相同值的不同字符串引用同一个对象.我也知道字符串可以在运行时实现:

string now = DateTime.Now.ToString().Intern(); 
Run Code Online (Sandbox Code Playgroud)

显然,在运行时实例化的字符串驻留在堆上,但我假设文字放在程序的数据段中(并且在我对所述问题的回答中这样说).但是我不记得在任何地方看到这个.我认为这是这种情况,因为我是如何做到这一点以及ldstrIL指令用于获取文字并且似乎没有进行分配的事实似乎支持我.

简而言之,字符串文字在哪里?它是在堆上,数据段还是我没想过的某个地方?


编辑:如果字符串文字确实驻留在堆上,它们何时分配?

.net java string-literals string-table

28
推荐指数
2
解决办法
8727
查看次数

Java中的等字符串不相等(==)?

可能重复:
Java中的字符串:equals vs ==

大家好,为什么这个Java代码不能正常工作(if语句总是被读为False,总是给任何输入输出4,包括Anish和"Anish")?

import java.util.Scanner;  
public class lkjlj {  
    public static void main(String args []) {  
        Scanner Pillai = new Scanner(System.in);  
        System.out.println("Enter Your name");  
        String nabeel = Pillai.nextLine();  
        System.out.println(nabeel);  
        if (nabeel == "Anish") {  
            System.out.println("Your Age is 6");  
        } else {
            System.out.println("Your age is 4");  
        }
    }  
}
Run Code Online (Sandbox Code Playgroud)

java

3
推荐指数
3
解决办法
1469
查看次数

toUpperCase不能像我期望的那样运作

可能重复:
如何比较Java中的字符串?
Java中的字符串:equals vs ==

我有两个字符串; 一个是小写的"你好",一个是上层的"你好".

当我将toUpperCase应用于变量,然后使用布尔值来比较它们时,它们的出现并不相等,我无法弄清楚原因.

public static void main(String[] args) {

    String a = "hello";
    String b = "HELLO";

    a = a.toUpperCase();
    b = b.toUpperCase();

    boolean c = (a==b);

    System.out.println(b + " " + a + " " + c);
}
Run Code Online (Sandbox Code Playgroud)

输出是HELLO HELLO假,但它应该是HELLO HELLO true.不应该吗?我错过了什么?

java

0
推荐指数
1
解决办法
157
查看次数

什么参数'=='决定平等?

当我们用Java编写以下代码时:

object1 == object2;

运营商'=='在什么基础上决定平等?

java operator-keyword

-4
推荐指数
1
解决办法
229
查看次数