资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
=操作符专门用来比较两个变量的值是否相等, 也就是用于比较变量说对应的内存中所存储的数值是否相等.要比较两个基本数据类型或者两个引用变量是够相等, 只用=.如果一个变量指向的数据是对象类型,那么就涉及了两块内存, 对象本身占用一块堆内存,变量也占用一块内存,例如:Object obj=newObject(); obj 是一个内存,new Object()是另一个内存.此时变量 obj 所对应的内存中存储的数值占用的那块内存的首地址.对于指向对象类型的变量,如果要比较两个变量是否指向同一个对象, 就要看这两个变量所对应的内存中的数字是否相等,此时用=操作符来进行比较.再说 equals:它用于比较两个独立对象的内容是否相等,就好比对比两个人长相是否相同, 他比较的两个对象是独立的.例如: String a=new String(“foo”); String b=new String(“Foo”);两条 new 语句创建了两个对象,然后用 a,b 这两个变量分别指向了其中的一个对象,这是两个不同的对象,他们的首地址是不同的 ,即,ab 中存储的数字是不相同的,所以, 表达式 a=b 返回的是 false,而这两个对象同的内容是相等的 ,所以, 要用 a.equals(b),返回 true.字符串的比较基本上是用 equals.额外的一些细节:如果一个类没有自己定义 equals 方法,那么它将继承 Object 类的 equals 方法,Object 类的equals 方法的实现代码如下 :Boolean equals(Object o)return this=o;这说明,如果一个类没有自己定义 equals 方法, 它默认的 equals 方法(从 Object 类继承)就是使用=操作符,也是在比较两个变量指向的对象是否同一个对象,使用 equals 和=会得到同样的结果.若比较的是独立的对象就总返回 false.所以一些情况下,需要覆盖 equals 方法.然后就是关于 hashCode 方法.hashCode 和 equals 都是用来判断 2 个对象是否相等. 但他们区别比较大.一般来说,equals 这个方法是给用户调用的, 如果你想判断 2 个对象是否相等, 你可以重写equals 方法,然后在代码中调用哪个, 就可以判断他们是否相等了,简单的来讲,equals 方法主要是用来判断从表面上看或者从内容上看,2 个对象是否相等 .如有个学生类,属性只有姓名和性别,我们可以认为只要姓名和性别相等 ,那么就说着 2 个对象是相等的.Hashcode 方法,一般用户不会去调用,比如在 hashmap 中,由于 ket 是不可以重复的,他在判断 ket 是不是重复的时候就使用了 hashcode 这个方法,而且也用到了 equals 方法,这里不可以重复是说 equals 和 hashcode 只要有一个不等就可以了!所以简单来说,hashcode 相当于是一个对象的编码,就好象文件中的 md5,他和 equals 不同就在于他返回的是 int 型的. 比较起来不直观.我们一般在覆盖 equals 的同时, 也要覆盖 hashcode,让他们的逻辑一致.如上述例子,如果姓名和性别相等 ,那么 hashcode 的方法也要返回姓名和性别的 hashcode 值,这样从逻辑上,他们就一致了.HelpListener 监听器通过 helpRequested(HelpEvent e)方法响应用户的帮助请求事件,当用户在组件获得焦点后按【F1】键将触发此事件。VerifyListener 监听器通过 verifyText(VerifyEvent e)方法响应校验输入事件。此监听器只对文本输入校验,当用户输入了数据后,verifyText 方法将通过设置 VerifyEvent 中的doit 属性判断输入是否正确,从而确定修改是否有效。doit 属性为 true 时修改有效,即“e.doit = true;”。ModifyListener 监听器通过 modifyText(ModifyEvent e)方法响应文本被修改的事件。此监听器只对文本输入校验。getText().trim()的作用是:在获得的文本中除去空格.trim()的作用是:去掉字符串左右的空格文件流 FileOutputStream 类 是 OutputStream 的子类,提供了文件的基本写入能力,成为文件字节输出流采用 BufferOutputStream 类将 FileOutputStream 作为参数新建一个对象便可以提高文件的读写效率如果进行写操作的文件不存在,责自动创建该文件。如果文件所在的路径也不存在则报错。构造方法:public FileOutputStream(String name):创建一个具有指定名称的文件中写入数据的输出文件流public FileOutputStream(String name,boolean append):创建一个向具有指定 name 的文件中写入数据的输出文件流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处public FileOutputStream(File file):创建一个向指定 File 对象表示的文件中写入数据的文件输出流public FileOutputStream(File file,boolean appended):创建一个向指定 File 对象表示的文件中写入数据的文件文件输出流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。FileInputStream 类 FileInputStream 是 InputStream 的子类,称为文件字节输入流。该类用于从本地磁盘读取字节数据。采用 BufferInputStream 类将 FileInputStream 作为参数新建一个对象便可以提高文件的读写效率三个构造方法public FileInputStream(String name):使用给定的字符串作为文件名创建文件输入流对象public FileInputStream(File file):使用 File 对象创建文件输入流对象public FileInputStream(FileDescriptor fd)intent 几 种 传 值 数 组 、 对 象 、 集 合 (Array,Object,List)2012-03-29 13:23 by omgee, 205 visits, 收藏, 编辑 1.Array?private ArrayList checkList=new ArrayList(); Intent intent=new Intent(mytext.this,show.class); intent.putStringArrayListExtra(list, checkList); startActivity(intent);调用?Intent intent=this.getIntent(); ArrayList list=intent.getStringArrayListExtra(list); ArrayList mylist=new ArrayList(); /listview 使用 ListView listview=(ListView)findViewById(R.id.MyListView); for(int i=0;i map=new HashMap(); map.put(ItemTitle, list.get(i).toString(); mylist.add(map); SimpleAdapter mSchedule=new SimpleAdapter(this,mylist,R.layout.show,new StringItemTitle,ItemTitle,new intR.id.ItemTitle,R.id.ItemTitle); listview.setAdapter(mSchedule);2.对象、列表(object,List)前面都一样,上遍文章已经讲解,这边补充一下,只讲一个 Serializable 的。另一个 Parcelable 都差不多,各自实现各自的接口,调用的时候可以不用那么麻烦,真心不喜欢用 Bundle ,挺多此一举的改写如果是 ListList list=new ArrayList();/搜索结果集合?Intent intent=new Intent(LinkMap.this,MapList.class); intent.putExtra(list, (Serializable)list); startActivity(intent);这边直接强制转化就行了,再接受的时候用(List) getIntent().getSerializable(list)就可以接受到 List数据了Listlist=(List)getIntent().getSerializableExtra(list);调用起来倒也方便的具体调用,遍历代码?Overridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.listmain); / List list=(List)getIntent().getSerializableExtra(list); /创建适配器 SimpleAdapter adapter = new SimpleAdapter(this,getData(),R.layout.maplist, new Stringname,kongwei,code,addr, new intR.id.name,R.id.kongwei,R.id.code,R.id.addr); setListAdapter(adapter); / ListView listview=(ListView)findViewById(R.id.SearchList); / listview.setAdapter(adapter); ; private List getData() List list = new ArrayList(); /获取参数 List mylist=(List)getIntent().getSerializableExtra(list); for(int i=0;i map = new HashMap(); map.put(name,mylist.get(i).getPrk_name(); map.put(kongwei,空位:+mylist.get(i).getKongwei(); map.put(code,收费:+ mylist.get(i).getCode(); map.put(addr,地址:+mylist.get(i).getPrk_addr(); list.add(map); / Toast.makeText(this, mylist.get(5).getPrk_name(), Toast.LENGTH_LONG).show(); return list;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号