黑马程序员技术交流社区

标题: 关于“+”相连接的一些疑问 [打印本页]

作者: 冷月霜飞    时间: 2015-5-14 06:55
标题: 关于“+”相连接的一些疑问
今天学习多线程时,对于以下代码中“this.name = name + count;”不是特别明白,我的意识中“+”是相连接一般发生在输出语句中,为什么此处也是相连接?另外,对于“+”的使用,有没有总结性的用法?它一般都使用在什么地方?什么时候是运算符号?什么时候是连接符?
  1. class Resource
  2. {
  3.         private String name;
  4.         private int count = 1;
  5.        
  6.         //1,提供设置的方法。
  7.         public synchronized void set(String name)
  8.         {
  9.                 //给成员变量赋值并加上编号。
  10.                 this.name = name + count;
  11.                 //编号自增。
  12.                 count++;
  13.                 //打印生产了哪个商品。
  14.                 System.out.println(Thread.currentThread().getName()+"......生产者...."+this.name);
  15.         }
  16.         public synchronized void out()
  17.         {
  18.                 System.out.println(Thread.currentThread().getName()+"....消费者...."+this.name);
  19.         }
  20. }
复制代码

作者: 冷月霜飞    时间: 2015-5-14 16:40
没有人给解答一下吗?
作者: 赵旗    时间: 2015-5-14 22:14
+在字符串中可以当做连接字符来用  比如"f"+"fds"  的到的结果是ffds  .字符串和数字相加的时候也是当连接字符用的.但是char类型的相加的话不是 虚拟机会把char类型自动转换为int在进行相加
作者: javabest    时间: 2015-5-14 23:40
字符串有个特性,字符串和任何数据使用+链接的时候都会产生一个新的字符串,不会发生其他的运算,此处+只是起到一个连接的作用。其他的地方都是当做加法运算符使用的,连接中存在byte、short、char都会转成int的参加运算。也就是说有字符串的时候就是连接符,其他的就是加法运算。
作者: 冷月霜飞    时间: 2015-5-15 06:43
赵旗 发表于 2015-5-14 22:14
+在字符串中可以当做连接字符来用  比如"f"+"fds"  的到的结果是ffds  .字符串和数字相加的时候也是当连接 ...

谢谢师兄!
作者: 冷月霜飞    时间: 2015-5-15 06:45
javabest 发表于 2015-5-14 23:40
字符串有个特性,字符串和任何数据使用+链接的时候都会产生一个新的字符串,不会发生其他的运算,此处+只是 ...

感谢回复!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2