http://stackoverflow.com/questions/16148580/assign-variable-value-inside-if-statement
判断条件中可以赋值,不能够声明。
int v;
if((v = someMethod()) != 0) return true;
http://stackoverflow.com/questions/16148580/assign-variable-value-inside-if-statement判断条件中可以赋值,不能够声明。int v;if((v = someMethod()) != 0) return true;
2:性别选择的不是A/B
3:注册用户名字的时候 应国家要求 关键字需要屏蔽(...)
4: 输入电话号码的时候 非11为数字 不是数字 不是以138 130 137 158 155 188. .开头
5:输入的年龄非数字
6:选择的分类可能不是亲人 朋友 同事 其他
7:座机可能不是按照 区号-号码的形式传进去的
座机号码的区号只能出现0564 0531 0532
cmd里面
直接
出现下面的内容:
请选择联系人的分类A:亲人 B:同事 C:朋友 D:其他
请输入联系人名字大写首字母:
请输入联系人的姓名:
请输入联系人的年龄:
请选择联系人性别:A:男 B:女
请输入联系人的电话:
请输入联系人座机号码(没有请回复N):N/区号-座机号
当用户依次输入所有的信息之后 产生一个联系人
但是需要
判断
集合里面是否已经存在该用户
如果存在(只要手机号码相同就认为是同一个联系人)
这个联系人存在不能继续添加进通讯录里面
cmd里面显示:对不起 当前用户已经存在 同一个用户不能添加多次
如果不存在 将当前联系人添加进集合里面
cmd里面显示:添加成功
删除联系人
如果用户选择的是D:
直接
在cmd里面先以表的形式将所有联系人的信息显示出来:
[效果如下:]
编号 姓名 年龄 电话
0 张三 22 155****5555
1 小明 18 187****9000
2 王刚美 28 183****9876
3 阿磊 24 155****4278
4 周凯 38 187****2189
5 周树人 99 174****0427
6 张三 22 155****5555
cmd里面显示:请问你要删除联系人的编号:
输入校验:
需要对当前输入的编码进行
判断
是不是数字
如果不是 需要重新输入(从新输进去的内容还是需要进行输入校验)
如果集合里面有该编码对象的元素
从集合里面将当前编号的联系人删除 并在cmd里面显示删除成功
如果集合里面没有该编号对应的联系人
cmd里面显示:对不起 没有该编码对应的联系人
修改联系人
如果用户选择的是E:
输入校验:
修改之后的姓名还是不能出现关键字
修改之后的电话号码还是只能以155 159...开头
修改后的大写首字母还是要
判断
是否合法
可能用户不是按照格式正确输入 XXX-XXX-XXX(无论是修改前的输入还是修改后的输入格式需要正确)
[效果如下]
请输入你要修改联系人的姓名大写首字母 姓名 联系电话(
中
间-隔开):Z-张三-15555555555
请输入修改后的联系人的姓名大写首字母 姓名 联系电话(
中
间-隔开):L-李四-18900000000
找到集合里面对应的联系人将信息修改掉 修改完毕 显示修改成功
如果集合里面没有找到叫张三的联系人 显示修改失败 没有查找到该联系人
结束当前所有操作
如果用户选择的是F:
直接
结束当前所有的操作 -》 break
1.Stream流由来
首先我们应该知道:Stream流的出现,主要是用在集合的操作上。在我们日常的工作
中
,经常需要对集合
中
的元素进行相关操作。诸如:增加、删除、获取元素、遍历。
最典型的就是集合遍历了。接下来我们先举个例子来看看
JDK
8 Stream流式操作出现之前,我们对集合操作的过程,从
中
来了解一下
JDK
8 之前集合操作数据的弊端。
Demo...
以下是博主在
jdk
8的版本下运行的结果,一些还是不是很理解,暂且记下。当然如果有哪位大神不吝赐教的话甚是感激。也欢迎各位在下边讨论。有一个问题,就是String在使用=
赋值
时会调用String类的哪个方法来实现包装?
public class MainTest {
public static void main(String[] args) {
Str...
我们在源码
中
总是看到源码作者将实例变量
赋值
到本地变量后再操作,我们平时写业务代码会很少这么干,为什么人家这么写?有什么好处?本文深入了解一下
final Object[] items = this.items;
final ReentrantLock lock = this.lock;
源码
中
很多的类似final Object[] items = this.items;操作,这里分析一下为什么要这么做。
猜想:局部变量都是存在于栈
中
,但是实例引用都存在于堆
中
,因此猜测这个处理是为了性
Java
中
的new String和
直接
赋值
都可以用来创建字符串对象。
直接
赋值
是指将字符串字面值
直接
赋给一个字符串变量,例如:
String str = "Hello World";
而new String则是通过调用String类的构造方法来创建字符串对象,例如:
String str = new String("Hello World");
两种方式的区别在于,
直接
赋值
方式会先在字符串常量池
中
查找是否已经存在相同的字符串,如果存在则
直接
返回该字符串的引用,否则会在常量池
中
创建一个新的字符串对象。而new String方式则会在堆内存
中
创建一个新的字符串对象,不管常量池
中
是否已经存在相同的字符串。
因此,
直接
赋值
方式更加高效,因为它可以利用字符串常量池的特性来避免创建重复的字符串对象。但是,在某些情况下,例如需要修改字符串内容时,new String方式更加适合,因为它创建的字符串对象是可变的,而
直接
赋值
方式创建的字符串对象是不可变的。
‘mvn’ is not recognized as an internal or external command, operable program or batch file.
10691