java/android 做題中整理的碎片小貼士(12)
1、edittext中設置最長字數,可在xml中加入android:maxLength="10",可在java代碼中加入editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)});
2、edittext監聽軟鍵盤delete按鍵:
Et.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_DEL
//to do here }}}
3、對於if(x=y),java中的賦值是有返回值的,賦的值就是返回值,而不是c語言那種成功返回1失敗返回0。而且java中似乎不會將正數認為是true。所以會編譯錯誤。
4、round函數是取最接近整數,如果遇到一樣近,則取最大值。
Math.round(11.5)=12, Math.round(-11.5)=-11
5、final修飾的方法不能被重寫但可以重載。
6、Request.getHeader和request.getCookies都可以得到cookie。
7、
byte b1=1,b2=2,b3,b6;
final byte b4=4,b5=6;
b6=b4+b5;
b3=(b1+b2);
被final修飾的變量當做常量,這裏的b6=b4+b5可以看成b6=10,在編譯時就已經變為b6=10。
而b1和b2是byte類型,計算時將它們提升為int類型再算,b1+b2計算後是int型,再賦值給b3,而b3是byte型,類型不匹配,編譯不會通過,需要進行強制轉換。
Java中的byte,short,char進行計算時都會提升為int類型。
8、方法區在JVM中是和堆一樣線程共享的區域。裏面保存類信息、靜態變量、常量和編譯得到的代碼。
java/android 做題中整理的碎片小貼士(12)