滴水穿石

1、调用系统的返回方法,即安卓手机的返回键,似乎会销毁当前Activity,因为再次进入时调用了onCreate,而通常自己写的跳转不会选择销毁,返回时OnResume()

2、split,分割加后面不影响,加前面多空格,例:

        String s = ",1,2,3,4,";
        System.out.println(s.split(",").length);
        for(String str: s.split(",")){
            System.out.println("["+str+"]");
        }

结果为[][1][2][3][4],长度为5,即s的前面加分隔标记(此例中为逗号),split会分割出一份,而若s的最后加分隔标记,不影响。

  split时,分割符为“|”等特殊字符时,需要小心对待看,JDK DOC中的说明

Public String[] split(String regex)

Splits this string around matches of the given regular expression.

参数regex是一个 regular-expression的匹配模式而不是一个简单的String,他对一些特殊的字符可能会出现你预想不到的结果

以下特殊字符的处理方法

关于点的问题是用string.split("[.]") 解决。

关于竖线的问题用 string.split("\|")解决。

关于星号的问题用 string.split("\*")解决。

关于斜线的问题用 sring.split("\\")解决。

关于中括号的问题用 sring.split("\[\]")解决

3、右键——》source——》format,整理代码格式,或ctrl+shift+F

4、instanceof的作用是判断其左边对象是否为其右边类的实例,返回boolean类型的数据。可以用来判断继承中的子类的实例是否为父类的实现。

5、加空格

  例:<string name="strategy_agreementdetail">&#160;&#160;&#160;&#160;您是否希望添加当前策略?</string>

      &#160;即为空格,分号需要保留

   或直接使用 ,作用是将光标移到最接近8的倍数的位置,使得后面的输入从此开始。 就相当于你在编程的时候按一下“Table”键,使光标以8个字符为基准进行跳跃

   实际使用中,通常5个 相当于段落前空两格对齐(如果" "之前无输出的数据,那直接横向跳8个空格,如果" "前有数据,那么连同前面的一共8个空格)

6、换行符

     是回车, 是换行,前者使光标到行首,后者使光标下移一格。

    通常用的Enter是两个加起来即

7、string去空格:trim只能去首尾、replace可任何下标替换

8、正则表达式

    Java中用正则表达式时,需要转义

9、float声明实验

private void Test4(){
        //这里的1是整形,当赋值给一个float时,存在一个隐式转换,不损失精度。
        float a = 1;
        //1f就是float类型的
        float b = 1f;
        //如果你如下定义肯定会出错。 因为1.0默认是double类型的。double范围比float大。为了不损失精度,不会自动转换。这是必须这样写 
//        float c = 1.0; 
        //像这样的没事
        float d = 1.0f;
    }

 10、常量尽量放左边,避免空指针,原因在于Java中不允许空指针发消息(即调用函数),于是报空指针异常。例如下:

"active_strategy".equals(configList.get(i).getParam_name())

 11、尽量不要在遍历List时remove元素,因为并非线程安全,移除的过程中List状态(比如索引)已改变,容易出问题。

原文地址:https://www.cnblogs.com/gaozy/p/3966927.html