相关疑难解决方法(0)

String.equals与==

此代码将字符串分隔为标记并将它们存储在字符串数组中,然后将变量与第一个主页进行比较...为什么它不起作用?

public static void main(String...aArguments) throws IOException {

    String usuario = "Jorman";
    String password = "14988611";

    String strDatos = "Jorman 14988611";
    StringTokenizer tokens = new StringTokenizer(strDatos, " ");
    int nDatos = tokens.countTokens();
    String[] datos = new String[nDatos];
    int i = 0;

    while (tokens.hasMoreTokens()) {
        String str = tokens.nextToken();
        datos[i] = str;
        i++;
    }

    //System.out.println (usuario);

    if ((datos[0] == usuario)) {
        System.out.println("WORKING");
    }
}
Run Code Online (Sandbox Code Playgroud)

java string

515
推荐指数
16
解决办法
80万
查看次数

239
推荐指数
9
解决办法
27万
查看次数

使用java.lang.String.intern()是一种好习惯吗?

Javadoc关于String.intern()没有提供太多细节.(简而言之:它返回字符串的规范表示,允许使用内部字符串进行比较==)

  • 我何时会使用此功能String.equals()
  • 是否存在Javadoc中未提及的副作用,即JIT编译器或多或少的优化?
  • 有进一步的用途String.intern()吗?

java string

193
推荐指数
8
解决办法
6万
查看次数

Java字符串:"String s = new String("傻");"

我是一个学习Java的C++人.我正在阅读Effective Java,有些事让我很困惑.它说从不写这样的代码:

String s = new String("silly");
Run Code Online (Sandbox Code Playgroud)

因为它会创建不必要的String对象 但相反它应该写成这样:

String s = "No longer silly";
Run Code Online (Sandbox Code Playgroud)

好吧到目前为止......但是,鉴于这个课:

public final class CaseInsensitiveString {
    private String s;
    public CaseInsensitiveString(String s) {
        if (s == null) {
            throw new NullPointerException();
        }
        this.s = s;
    }
    :
    :
}

CaseInsensitiveString cis = new CaseInsensitiveString("Polish");
String s = "polish";
Run Code Online (Sandbox Code Playgroud)
  1. 为什么第一个陈述好吗?不应该

    CaseInsensitiveString cis = "Polish";

  2. 我如何使CaseInsensitiveString行为String如此上述声明是可以的(有和没有扩展String)?它是什么让它能够传递像这样的文字?根据我的理解,Java中没有"复制构造函数"概念?

java string

84
推荐指数
8
解决办法
17万
查看次数

Java中表达"new String(...)"的目的是什么?

在查看在线代码示例时,我有时会通过使用new运算符将String常量赋值给String对象.

例如:

String s;
...
s = new String("Hello World");
Run Code Online (Sandbox Code Playgroud)

当然,这与之相比

s = "Hello World";
Run Code Online (Sandbox Code Playgroud)

我不熟悉这种语法,也不知道目的或效果是什么.由于String常量通常存储在常量池中,然后以JVM处理String常量的任何表示形式存在,甚至还会在堆上分配任何内容?

java string

63
推荐指数
3
解决办法
2万
查看次数

与字符串文字相比,字符串对象的优点是什么

我想知道在哪里使用字符串对象(在我的java代码中的哪种情况).好吧,我理解diff btwn字符串文字和字符串对象,但我想知道,因为java给了我们制作字符串对象的能力,必须有一些原因,在某些时候字符串对象的创建会很有用.所以我想知道在哪种情况下我们可以选择字符串对象来代替字符串文字.

java

7
推荐指数
2
解决办法
3242
查看次数

标签 统计

java ×6

string ×5

string-literals ×1