String?v
表示v可以为空,这样在调用一些函数时可能出错,因为这些函数的输入是不能为空的,比如下面的代码会报错:Error: Method 'trim' cannot be called on 'String?' because it is potentially null.
int i = v.trim().length;
此时可以先判断V是否为空,再赋值
if( v != null )
int i = v.trim().length;
或者用非空断言!告诉编译器这不是一个非空的变量
int i = v!.trim().length;