鉴于新浪博客太渣,转到这来. 最近在工程设计时,使用list循环添加map对象发现,最终全部变为最后一个map的值,但是list的数值还是正确的,也就是说添加了N(list长度或者说循环的次数)个相同的map对象(均为最后一个).   进行修改时猜测应该是引用和值传递差异造成的,于是将List和map的声明和初始化一同移进了for循环体内,但发现,循环体外面仍然要使用(setAdapter()方法,用作显示ListView控件数据),于是将此方法也移入循环体内,再次发现会只显示最后一条map对象…
有些写法上的说明写的过于武断,可能有很多不当之处,仅供参考.   package ForLoop; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * java中for循环的6种写法 * * @author Panda.Pan * * @创建时间:2014-2-28 上午09:39:13 */ public class ForLoop { public static void ma…
今天在编译android源码中的计算器APP时发现,竟然无法使用系统隐藏的API,比如android.os.ServiceManager中的API,引用这个类时提示错误,记忆中在android源码中的APP是可以使用隐藏的API的,为什么这个不行? 百思不得其解,最后通过对比mk文件发现,在计算机的mk文件中多了一句:LOCAL_SDK_VERSION := current,顿时发现问题所在 注释掉这句之后,重新mmm编译通过.…
java中方法的重载和覆盖 先来了解一下这两个名词的含义. 重载: 在一个类当中才可以重载,方法名相同,参数个数不同或参数个数相同而参数类型不同. 覆盖: 又称重写,在派生类(子类)中重写基类(父类)的方法,名称.参数.类型都必须相同. java中的方法重载发生在同一个类里面两个或者多个方法的方法名相同但是参数不同的情况.与此相对,方法覆盖是说子类重新定义了父类的方法.方法覆盖必须有相同的方法名,参数列表和返回类型. 覆盖者可能不会限制它所覆盖的方法的访问. 一.重载(Overloading)…
在阿里巴巴Java开发手册中,有这样一条规定: 但是手册中并没有给出具体原因,本文就来深入分析一下该规定背后的思考. 一.foreach循环 foreach循环(Foreach loop)是计算机编程语言中的一种控制流程语句,通常用来循环遍历数组或集合中的元素. Java语言从JDK 1.5.0开始引入foreach循环.在遍历数组.集合方面,foreach为开发人员提供了极大的方便.通常也被称之为增强for循环. foreach 语法格式如下: for(元素类型t 元素变量x : 遍历对象ob…
起因 今天在项目中遇到一个很"奇葩"的问题.情况大致是这样的:Android终端和服务器(Spring),完全相同的字符串键值对放入HashMap中竟然顺序不一样,这直接导致了服务器和Android终端用HmacSHA256算法加密出的摘要也不一样,服务器也就无法进行正确的数据验证. 然后带着郁闷的心情给程序加断点进行原因寻找,发现原来是HashMap的中服务器和终端双方对于同样的key存放顺序竟然不一样! 在HashCode产生冲突的情况下,不同的key在HashMap中存入的位置应…
java循环结构 顺序结构的程序语句只能 被执行一次.如果你要同样的操作执行多次,就需要使用循环结构. java中有三种主要的循环结构: 1.while 循环 2.do...while 循环 3.for 循环 1.while循环           while是最基本的循环,它的结构为: public static void main(String[] args) { int x = 10; while (x < 20) { System.out.print("value of x :&q…
ava中的ArrayList循环遍历并且删除元素时经常不小心掉坑里,昨天又碰到了,感觉有必要单独写篇文章记一下. 先写个测试代码: import java.util.ArrayList; public class ArrayListRemove { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); list.add("a"); li…
一.嵌套循环 循环可以互相嵌套,以实现更加复杂的逻辑,其代码的复杂程度也会提高,对初学者而言这应该是个难点,下面我们通过一些例子说明嵌套循环的使用,读者要自己把这些代码上机练习,并理解程序运行的流程. 先看看一个简单例子,代码如下: //二重循环 for(int i=0;i<3;i++){ for(int j=0;j<2;j++){ System.out.println("i="+i+",j="+j); } } 上面是一个二重循环,因为在for循环里又嵌…
我们应该都知道i++和++i的区别是: ++i是先执行 i = i +1 再使用 i 的值,而 i++ 是先使用 i 的值再执行 i = i + 1: for循环的执行顺序如下: for(a;b;c) { d; } 进入循环执行a://只是进入的时候执行 执行b; //条件为真才执行d,不然跳出for了 执行d: 执行c: 再回到第2步开始执行 来看下面的实例: for(int i = 0; i < 10;i++){ System.out.println(i); } 相当于: for(int i…
while循环:     while(循环条件){         循环操作     }     停止while循环有两种方式:1.不再满足while后的循环条件时,循环终止:                                                2.通过break,终止循环: do-while循环:     do{         循环操作     }while(循环条件) while循环,先判断后循环:do-while循环,先执行后判断 for循环:     for(…
在剖析该问题前请看如下代码 public static String bytes2HexString(byte[] b) {  String ret = "";  for (int i = 0; i < b.length; i++) {   String hex = Integer.toHexString(b[i] & 0xFF);   if (hex.length() == 1) {    hex = '0' + hex;   }   ret += hex.toUppe…
JAVA中的数据类型有两大类型: ① 基本数据类型:逻辑型(boolean).文本型(char).整数型(byte.short.int.long).浮点型(float.double) ② 引用数据类型:类(class).接口(interface).数组(array). JAVA中方法传入参数有两种方式: ①值传递:当方法中传入的是基本数据类型, 此时形参传递的是副本, 不改变原来的要传入的参数值 ②址传递:当方法中传入的是引用数据类型时, 把形参和实参的指针指向了堆中的同一对象, 是址传递,会改…
在上一篇博文Java中equals和==的区别中介绍了Object类的equals方法,并且也介绍了我们可在重写equals方法,本章我们来说一下为什么重写equals方法的时候也要重写hashCode方法. 先让我们来看看Object类源码 /** * Returns a hash code value for the object. This method is * supported for the benefit of hash tables such as those provided…
在剖析该问题前请看如下代码public static String bytes2HexString(byte[] b) {  String ret = "";  for (int i = 0; i < b.length; i++) {   String hex = Integer.toHexString(b[ i ] & 0xFF);   if (hex.length() == 1) {    hex = '0' + hex;   }   ret += hex.toUpp…
1.foreach语句介绍: ①PHP: foreach 语法结构提供了遍历数组的简单方式.foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息. ②Java: foreach语句是java5的新特征之一,在遍历数组.集合方面,foreach为开发人员提供了极大的方便.foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本.foreach并不是一个…
简单介绍一下java中的一些循环 package test; import org.apache.log4j.Logger; import org.junit.Test; public class ForDemo01 { private static Logger logger = Logger.getLogger(ForDemo01.class); /** * * <p>Title: test01</p> * <p>Description: for循环</p&g…
1.引言 借用<Effactive Java>这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合.但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦. 2.BigDecimal简介 BigDecimal 由任意精度的整数非标度值 和32 位的整数标度 (scale) 组成.如果为零或正数…
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. if(request instanceof HttpServletRequest){ System.out.println("-------------"); }…
最近因为学校换了新的教务系统,想做一个模拟登陆功能,发现登陆的账号和密码有一个js脚本来进行加密 整理了一下java中执行JS的方法 智强教务 账号 密码 加密方法 var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; function encodeInp(input) { var output = ""; var chr1, chr2, chr3 = &q…
最近在看一些和安卓相关的书籍,看到了for_each这种循环结构,这是为了简化java的for循环而改造的一种方便使用的格式. 格式如下: for(数据类型 变量:集合) 语句块 接下来看一个例程: package for_apro; import java.util.*; public class first_for { public static void main(String [] args){ int sum=0; int []nums={1,2,3,4,5,6,7,8,9,0}; f…
问题:java开发时,当我们使用List.add();循环添加数据,有时会出现前面添加的数据会被后面覆盖的现象.这是怎么回事尼? 会覆盖数据的代码 package com.boot.test; import lombok.Data;import java.util.ArrayList;import java.util.List; @Datapublic class StudentVo { private String name; private String age; public static…
1.1 while 循环语句 while 语句也称为条件判断语句. 循环方式 : 利用一个条件来控制是否要反复执行这个语句. 语法 : while(条件表达式){ 执行语句 } 当条件表达式的返回值为真时,执行 " {} " 中的语句,当执行完 " {} " 中的语句后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环. 注意: 不能在while表达式的括号后面加 " {} " !!! 如 : while(x==5); Syste…
循环结构(二) 学习本章有道的单词: rate:速度,比率 young:年轻的,年少 schedule:时间表,调度 neggtive:消极的;否定 customer:顾客,观众 birthday:生日 point:点.指向,分点数 continue:继续,延生,持续 return:返回,归还 for:为了,因为:为了,对于 for循环 语法: for(表达式1;表达式2;表达式3){ //循环体 } 表达式1:赋值语句>循环结构的初始部分,为循环变量赋初值,eg:int i =0 表达式2:条…
/*第一种:将事件的处理委托给其他对象,下面的例子是委托给了MyListener(implements ActionListener)*/ 1 import java.applet.Applet; import java.awt.event.*; import java.awt.*; public class ChangeColor extends Applet{//Applet的默认布局为FlowLayout方式 Color myColor; String str; Button btn; L…
在小程序中为了实现一个<swiper-item>中添加多个内容重复的标签,那就需要使用wx:for循环.如果按小程序的简易教程,循环加在block中,而swiper-item放在里面.所有数据都会遍历到每一个swiper-item中.这不是我们想要的. 只需要把<block>放入<swiper-item>中就可以,把循环数据绑定到block上就可以了. 代码: <!--导航部分轮播图--> <swiper class="navban"…
比如定义一个数组int a[]={1, 2, 3, 4},下面我们罗列一下遍历这个数组的方法 1 for(;;) 这也是最常用的方法,不多做解释.代码如下 int a[] = {1, 2, 3, 4}; for(int i=0; i<a.length; i++){ System.out.println(a[i]); } 2 for(:) 先上代码: int a[] = {1, 2, 3, 4}; for(int i:a){ System.out.println(i); } for(int i:a…
for each循环还是第一次见,“java SE 5.0增加了一种功能很强的循环结构,可以用来一次处理数组中的每个元素(其他类型的元素集合亦可)而不必为指定下标值而分心”. 这种增强的for each循环的语句格式为: for(variable : collection)statement 定义一个变量用于暂存集合的每一个元素,并执行相应的语句.collection这一集合表达式必须是一个数组或者是一个实现了list等接口的类(重要).…
在ShopEx中,添加产品的规格时,如颜色.尺寸.是否送货等配置信息,默认情况下,这些内容是须要手动计算的,若仅仅有几个属性值还easy计算,假设每个属性值比較多,通过手动计算将是一个灰常巨大的工作量,这里通过改动模板及控制器文件.实现了自己主动计算销售价的功能. 首先.先看一下改动此功能时,涉及到了哪几个文件 控制器文件:core\admin\controller\ctl.spec.php 模板文件:涉及到的比較多 core\admin\view\product\spec.html 编辑商品时…
来源:http://www.cnblogs.com/sunnychuh/archive/2011/09/09/2172131.html --------------------- java继承中对构造函数是不继承的,只是调用(隐式或显式). 以下是例子: public class FatherClass { public FatherClass() {       System.out.println(100); } public FatherClass(int age) {      Syst…