分页接口设计 两种分页方式 传统的分页方式页最典型的特点是页面上有一连串的页码,和电梯按钮相似,因此页常被称之为电梯式分页。 电梯式特点: 通过页码进行分页 通过点击上/下页按钮可实现页面切换 通过点击页码可实现页面切换 可直接跳转至指定 …
利用空传播避开NPE
所谓NPE(NullPointerException) 就是空指针异常,一般当我们访问一个为null的对象的属性或方法时会触发这个异常。一般来说,抛出NPE错误并不是用户操作的错误,而是开发人员的错误,是应该要避免的!然而,一直以来,为避免NPE所进行的繁琐的空指针判断让 …
SQL Server 数据库的分页查询
SQL Server 数据库的分页查询 SQL Server中进行分页查询并不像MySQL那样方便,前几天刚好有空整理了一下常见的分页写法,做一个简单的归纳。 1. 利用Top分页 TOP函数用来限制返回行数,如果使用两层TOP嵌套便可以实现分页。按照这个思路可以写出如下的 …
.gitignore规则不生效的解决办法
.gitignore规则不生效的解决办法 使用Git来管理项目版本时,我们一般会在根目录中 .gitignore 文件中设定一些例外规则,从而让项目中复合规则的文件不被纳入管理,比如IDE的相关配置文件等。 但是.gitignore只能忽略那些原来没有被track的文件,如果某 …
C语言中数组与指针的关系
数组与指针的关系 长期以来,在C/C++中,数组名和指向数组首元素的指针常量到底是以一种什么关系,一直困扰着很多人。很多地方,甚至是一些教科书中都在说,“数组名就是一个指向数组首元素的指针常量”。但事实是,这是一种错误的说法!我们可以在很多场 …
C语言中的参数传递
C中的参数传递 本文尝试讨论下C中实参与形参的关系,即参数传递的问题。 C语言的参数传递 值传递 首先看下列代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <stdio.h> int main(){ int n = 1; printf("实参n的值:%d,地址:%#x\n", n, &n); void change(int i);//函数声明 change(n); printf("函数调用后实参n的值:%d,地址:%#x\n", n, &n); return 0; } void change(int i){ printf("形参i的值:%d,地址:%#x\n",i,&i); i++; printf("自增操作后形参i的值:%d,地址:%#x\n",i,&i); } |
编译后执行结果如下:
1 2 3 4 5 |
实参n的值:1,地址:0x5fcb0c 形参i的值:1,地址:0x5fcae0 自增操作后形参i的值:2,地址:0x5fcae0 函数调用后实参n的值:1,地址:0x5fcb0c |
可以看到,在调用函数 change 时, …
Java中的不可变类
Java中的不可变类 不可变类(Immutable Objects):当类的实例一经创建,其内容便不可改变,即无法修改其成员变量。 可变类(Mutable Objects):类的实例创建后,可以修改其内容。 Java 中八个基本类型的包装类和 String 类都属于不可变类,而其他的 …