java中从str1中删除所有str2_Java中str1.equals(str2)和str1==str2的区别
大家好,這是我的第一篇博客,作為即將入職的學生,我現在的心情是既好奇又興奮,對未知的職場生活充滿了無限的憧憬,也想趕緊對大學生活say goodbye,因為自己的能力現在還比較有限,我想通過博客這個平臺來慢慢提升自己,我想發一些平常在Java或者其他領域經常使用到的知識,不僅是對你們有幫助,同時也是我自己的進步,謝謝大家了。雖然我知道可能有很多人發過類似的博客或者技術貼,但是我盡量還是用我自己的語言來描述,支持原版。好的,廢話不多說,接下來就進入正題吧~
我們直接從一個實例來開始我們今天的學習吧。
我新建了一個class名為Test01
public class Test01 {
public static void main(String[] args){
String a="helloworld";
String b="helloworld";
System.out.println(a.equals(b));
}
}
大家看上述實例,答案會是什么呢,首先一點,我們要明白的問題是,不管是".equals()"還是"==",他的返回值是true或者是false,而不是0,1或者-1,所以上述實例的輸出值最終為true?,F在我們將輸出的語句進行修改:
public class Test01 {
public static void main(String[] args){
String a="helloworld";
String b="helloworld";
System.out.println(a==b);
}
}
其輸出值仍為true。
大家都明白,"=="比較的是2個對象的地址,而".equals()"比較的是2個對象的內容,那這個區別究竟體現在那個地方呢,咱們看接下來的實例。
public class Test01 {
public static void main(String[] args){
String a="helloworld";
String b="hello" +new String("world");
System.out.println(a.equals(b));
}
}
大家覺得現在的輸出是什么呢,沒錯,依然是true,因為".equals()"比較的是2個對象的內容,很明顯不管是字符串a還是字符串b,他們的值沒變,都是helloworld,所以返回的值依然是true,我們再看下一個實例。
public class Test01 {
public static void main(String[] args){
String a="helloworld";
String b="hello" +new String("world");
System.out.println(a==b);
}
}
沒錯,這個時候這個表達式的返回值就是false了。因為b2中的world是新申請的內存塊,而==判斷的是對象的地址而非值,所以不一樣。
想要搞懂這個其實還是不難的,大家只要注意以后在編程中是需要進行如何的比較即可~
希望我的分享對大家有幫助,以后我也會積極更新微博,不管是簡單的或者是復雜的知識點,或者是我曾經做的項目之類的,我都會分享出我的經驗,謝謝大家一起學習,共同進步。
原文:http://www.cnblogs.com/hikarisama/p/5967060.html
總結
以上是生活随笔為你收集整理的java中从str1中删除所有str2_Java中str1.equals(str2)和str1==str2的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java局域网 端口扫描_java 如何
- 下一篇: java指定长度数组长度_Java声明数