C'est bien qu'Arasa, qui a été pigiste pendant huit ans après avoir abandonné ses études, ait pu changer d'emploi en ingénieur, mais je ne savais pas à droite ou à gauche, alors j'ai fait de gros efforts pour obtenir Java Silver, mais je suis coincé ici.
Tout d'abord, je connais peu Java. Au contraire, on peut dire qu'il n'y a pas beaucoup de connaissances en programmation en général. J'avais l'habitude de jouer avec le langage C comme passe-temps et comme cours quand j'étais étudiant, et récemment j'ai étudié Python3 avec du matériel pédagogique Web! C'est un amateur qui peut attirer beaucoup d'attention.
Ainsi, en ce qui concerne les qualifications Java, il semble que la demande soit tout simplement élevée. C'est tout. Il semble que l'orientation objet soit appropriée pour faire des choses, non? J'ai seulement l'impression.
Je vais écrire pour moi presque ce que j'ai étudié jusqu'à ce que je passe Java Silver. Si vous avez des erreurs, faites-le moi savoir pour mon avenir.
Pour le moment, lorsque j'ai acheté un livre d'introduction à Java et que je l'ai étudié, je suis immédiatement tombé sur quelque chose d'intéressant. Parce que le type String est un type de référence, par exemple
StrTest.java
public class StrTest {
public static void main(String args[]) {
String str1 = "hoge";
String str2 = "ho";
str2 += "ge";
System.out.println(str1 == str2);
}
}
Est false
, donc lors de la comparaison de chaînes de caractères
StrTest.java
public class StrTest {
public static void main(String args[]) {
String str1 = "hoge";
String str2 = "ho";
str2 += "ge";
System.out.println(str1.equals(str2));
}
}
Utilisez ʻequals () `comme
Et cela. J'étais tellement excité que j'ai écrit ce code à titre d'essai.
StrTest.java
public class StrTest {
public static void main(String args[]) {
String str = "hoge";
StrChange(str);
System.out.println(str);
}
public static void StrChange(String str){
str = "fuga";
}
}
La sortie devrait maintenant être fuga
. Parce que c'est un type de référence.
Si vous l'exécutez dans cet esprit, la sortie sera hoge
. Hey? ??
C'était vraiment une question, alors quand j'ai pleuré au professeur de Google, l'explication est ressortie fermement. Merci à tous les ingénieurs seniors.
https://qiita.com/chihiro/items/d3d9a028cd5dd8e84649
Apparemment, l'instance de type String est immuable, vous ne pouvez donc pas modifier la valeur en premier lieu. Je ne peux pas changer la valeur ...? ?? ??
StrTest.java
public class StrTest {
public static void main(String args[]) {
String str = "hoge";
System.out.println(str); // hoge
str += "hoge";
System.out.println(str); // hogehoge
str = "fuga";
System.out.println(str); // fuga
}
}
Cela a beaucoup changé! !! Pourquoi puis-je changer la valeur même si elle est immuable? Pourquoi ne peut-il pas être modifié dans le code précédent?
Je suis devenu inconscient avant et après, alors quand j'ai pleuré au professeur de Google, l'explication est ressortie fermement. Merci à tous les ingénieurs seniors.
https://freelance-jak.com/technology/java/1204/
Il semble que la valeur change, et en fait, elle est recréée en tant que nouvelle valeur dans une nouvelle zone. Le type String semble donc définitivement immuable. Le code que j'ai écrit plus tôt signifie simplement qu'une nouvelle chaîne de caractères a été juste bombardée par une méthode.
Recommended Posts