(1)java中HashMap如何根据key获得value?
HashMap map = new HashMap();
map.put(1,2);
map.get(1); //根据key得到value 2
(2)Integer.valueof(String)
例如: String str = "1"; Integer i = Integer.valueof(str); 这样其实是返回了一个Integer对象。我想知道:(1)i和"1"之间还有没有什么联系?(2)在Integer.valueof(str)执行过程是怎么样的?要详细一点。
问题1:没有关系了,只是把String型的"1"转化为了Integer型的1
问题2:(1)调用Integer类中的静态方法valueOf(String)(2)valueOf方法将传入的参数String转化为int型值(3)返回该值,如果String并不是纯粹由数字构成即无法转化为数字,则抛出NumberFormatException..
PS:把String 型转换为Int型, Integer.valueOf()把String 型转换为Integer对象。大概知道一点了,就是说Integer.valueOf(S)是针对包装类来说的,而Integer.parseInt(s) 是针对变量而言.
(3) ContentValues 和HashTable类似都是一种存储的机制 但是两者最大的区别就在于,contenvalues只能存储基本类型的数据,像string,int之类的,不能存储对象这种东西,而HashTable却可以存储对象。
在忘数据库中插入数据的时候,首先应该有一个ContentValues的对象所以:
ContentValues initialValues = new ContentValues();
initialValues.put(key,values);
SQLiteDataBase sdb ;
sdb.insert(database_name,null,initialValues);
插入成功就返回记录的id否则返回-1;
(4) Android里面i.getStringExtra什么作用 (取得另一个Activity 传送的参数)
Intent 功能太强大了,比较常用的就是Activity (Service)之间的数据传递。举个简单例子,在当前Activity1使用startActvity(intent)或者startActivityForResult(intent, code)方法跳转到另一个Activity2之前,如果要传递某些String类型数据给Activity2,则会执行intent.putExtra(String str, String Key),将String数据打包到Intent中,并给它一个Key标识。在Activity2当中,getIntent()方法获得这个intent,然后再getStringExtra(Key),就可以获得你之前打包的那个数据了。这种机制非常简单,也比较好用。
http://android.tgbus.com/Android/tutorial/201104/349328.shtml
//用intent.putExtra(String name, String value);来传递参数。
intent.putExtra("one", num1);
intent.putExtra("two", num2);
intent.putExtra("one", num1);
intent.putExtra("two", num2);
*******************************************************************
// 用intent1.getStringExtra()来得到上一个ACTIVITY发过来的字符串。
String one = intent1.getStringExtra("one");
String two = intent1.getStringExtra("two");
String one = intent1.getStringExtra("one");
String two = intent1.getStringExtra("two");
(5)startActivityForResult与startActivity的不同之处在于:
如果想在Activity中得到新打开Activity 关闭后返回的数据,需要使用系统提供的startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,新的Activity 关闭后会向前面的Activity传回数据,为了得到传回的数据,必须在前面的Activity中重写onActivityResult(int requestCode, int resultCode, Intent data)方法。
1、startActivity( )
仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity( )。
2、startActivityForResult( )
可以一次性完成这项任务,当程序执行到这段代码的时候,假若从T1Activity跳转到下一个Text2Activity,而当这个Text2Activity调用了finish()方法以后,程序会自动跳转回T1Activity,并调用前一个T1Activity中的onActivityResult( )方法。
(6)gson.toJson(userBusinessInfo),其中 userBusinessInfo为一对象。
http://blog.csdn.net/lk_blog/article/details/7685169 Gson----对象-to-String
http://blog.csdn.net/lk_blog/article/details/7685210 Gson----Map-to-String
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。
Object Examples //自定义类 --------------------------------- Gson----对象-to-String
class BagOfPrimitives {}
(Serialization)
BagOfPrimitives obj = new BagOfPrimitives();
Gson gson = new Gson ();
String json = gson.toJson(obj);
==> json is {"value1":1,"value2":"abc"}
java 关键字transient
如果用transient声明一个实例变量,当对象存储时,它的值不需要维持
Gson 也就不会序列化他
Map的存储结构式Key/Value形式,Key 和 Value可以是普通类型,也可以是自己写的JavaBean(本文),还可以是带有泛型的List(下一篇博客).本例中您要重点看如何将Json转回为普通JavaBean对象时TypeToken的定义.
- Map<Point, String> map1 = new LinkedHashMap<Point, String>();// 使用LinkedHashMap将结果按先进先出顺序排列
- map1.put(new Point(5, 6), "a");
- map1.put(new Point(8, 8), "b");
- String s = gson.toJson(map1);
- System.out.println(s);// 结果:[[{"x":5,"y":6},"a"],[{"x":8,"y":8},"b"]]
- Map<Point, String> retMap = gson.fromJson(s,
- new TypeToken<Map<Point, String>>() {
- }.getType());
- for (Point p : retMap.keySet()) {
- System.out.println("key:" + p + " values:" + retMap.get(p));
- }
- System.out.println(retMap);
key:Point [x=8, y=8] values:b
{Point [x=5, y=6]=a, Point [x=8, y=8]=b}
- Map<String, Point> map2 = new LinkedHashMap<String, Point>();
- map2.put("a", new Point(3, 4));
- map2.put("b", new Point(5, 6));
- String s2 = gson.toJson(map2);
- System.out.println(s2);
- Map<String, Point> retMap2 = gson.fromJson(s2,
- new TypeToken<Map<String, Point>>() {
- }.getType());
- for (String key : retMap2.keySet()) {
- System.out.println("key:" + key + " values:" + retMap2.get(key));
- }
// 结果:
{"a":{"x":3,"y":4},"b":{"x":5,"y":6}}
key:a values:Point [x=3, y=4]
key:b values:Point [x=5, y=6]