hof*_*ofs 17 java android textview android-edittext
例如,在下面的代码中a,b并且c是相同的.
EditText editText;
editText = (EditText) findViewById(R.id.edttxt);
editText.setText("1234");
int a, b, c;
a = editText.length();
b = editText.getText().length();
c = editText.getText().toString().length();
Run Code Online (Sandbox Code Playgroud)
有什么区别length()和getText().length()和getText().toString().length()?
这是性能问题.
length将完全相同getText,length它只是节省您键入getText().从类TextView其EditText扩展:
public CharSequence getText() {
return mText;
}
/**
* Returns the length, in characters, of the text managed by this TextView
*/
public int length() {
return mText.length();
}
Run Code Online (Sandbox Code Playgroud)
至于toString,它是一样的,但是,你做的任何转换(CharSequence=> String)都会花费你一点点的性能(很少你可能不会注意到它).
此外,当您转换内容时,您必须注意空指针异常,可能不是在这种情况下,但一般来说.
要回答这个问题,只需使用length()
length(): - length()function是一个继承的方法,EditView它继承的方法TextView返回由此管理的文本的字符长度EditView.因此,它将返回用户放入EditViewContorl 的文本长度.
getText().length(): - 这里的语句length()函数不属于EditView类.实际上这个length()函数属于CharSequence类,因为getText()返回一个CharSequence对象.因此,此函数length()将再次返回此序列中的字符数.
.getText().toString().length(): - here toString()方法将CharSequenceObject转换为普通的不可变StringObject.所以,这里的length()函数属于String同样返回String对象长度的类| 归档时间: |
|
| 查看次数: |
4183 次 |
| 最近记录: |