Как связать строку и целое? Джава

Оператор == проверяет, указывают ли две ссылки на один и тот же объект или нет. .equals() проверьте фактическое содержимое строки (значение).

Обратите внимание, что метод .equals() принадлежит классу Object (суперкласс всех классов). Вам необходимо переопределить его в соответствии с вашим требованием к классу, но для String оно уже реализовано и проверяет, имеет ли две строки одно и то же значение.

  • Случай 1
    String s1 = "Stack Overflow";
    String s2 = "Stack Overflow";
    s1 == s2;      //true
    s1.equals(s2); //true
    
    Причина: строка литералы, созданные без нуля, хранятся в пуле строк в области перментонов кучи. Таким образом, оба s1 и s2 указывают на один и тот же объект в пуле.
  • Случай 2
    String s1 = new String("Stack Overflow");
    String s2 = new String("Stack Overflow");
    s1 == s2;      //false
    s1.equals(s2); //true
    
    Причина. Если вы создаете объект String с использованием ключевого слова new, ему выделяется отдельное пространство в куче.
-2
задан Ian Hazleton 10 March 2019 в 17:36
поделиться

1 ответ

объявляем класс с двумя полями в нем 1.int и 2.String

class A
{
    int i;
    String s;
}

в основном методе создания объекта массива (класса A) этого класса, к которому вы можете обращаться из int и String через точку (.) метод

как:

A[] obj = new A[10];//creating array of object

теперь доступ ко всем элементам с помощью:

for(int j=0;i<obj.length;j++)
{
obj[j]=new A();//assigning object to reference
obj[j].i=10;
obj[j].s="hello";
}
0
ответ дан Priyang Bhavsar 10 March 2019 в 17:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: