java常见问题 待更新

1....

注意stringbuffer 的用法,相当于一个全局变量。。

StringBuffer sb = new StringBuffer();
sb.append("333");
map.put("1",sb)
sb.delete(o,3);


结果。。。。map 里的值变成0;


2.......JAVA,泛型循环

List<User> list =new ArrayList();
    for(User user:list) {
     System.out.println("user.name="user.getName());
    }


3...........String 装换为long

Long.parstlong(String s)


4.................
System.arraycopy("0003".getBytes(), 0, bindData, 0,4);
System.arraycopy((seq+"").getBytes(), 0, bindData, 4,4);
String cmd = contentBody.substring(0, 4);
String seqStr = contentBody.substring(4,8);



5------------
接口不能被实例化,
可以声明一个接口的引用变量,让它指向一个类的实例,当然那个类要实现了那个接口的



6-------------
一个字节占8位。也就是说8位的2进制数,也就是说2位的16进制。



7----------------------
  String hex = Integer.toHexString(b[ i ] 0xFF);
。java.lang.Integer.toHexString() 方法的参数是int(32位)类型,如果输入一个byte(8位)类型的数字,这个

方法会把这个数字的高24为也看作有效位,这就必然导致错误,使用& 0XFF操作,可以把高24位置0以避免这样错误
.

8------------
select type, count(type) from th_gas_and_vg3 group by type order by count(type) desc




9---------------------------
各种进制之间的转换。

9.1----16进制转十进制(存储数字的字符)

从返回值可以看出他们的区别   parseInt()返回的是基本类型int
而valueOf()返回的是包装类Integer  Integer是可以使用对象方法的  而int类型就不能和Object类型进行互相转换
String chuan="82";
int zhuan=Integer.parseInt(chuan);
int zhuanyi=Integer.valueOf(chuan);
为什么你的程序返回值都可以用int来接收呢?  因为Integer和int可以自动转换

9.2------十进制转16进制
Integer.toHexString(int i)
Long.toHexString(time).toUpperCase();











10---------------------------

java中是方法是值传递。
比如 在一个方法里
for(int i=1;i<3;i++)
{
   tobject a = new tobject();
a.add(i);
map.put(i,a);
sysout(a);
}


每次A的改变都会引起以前A的值的改变.


我也整部明白了。



可以利用局部变量的值。
吧大的map当中参数传入,
在方法里创建tobject对象并放入。tobject的生命周期仅仅只在局部变量方法里,这样就可以了!
如果你试图返回一个tobject 这样不行,生命周期就大了!



利用局部方法,创建局部变量,让map成为大变量,里存的对象是局部对象。









--------------------------------------------------------------------------------------

10------------------
JAVA IO 流
什么时候写出,带不带回车????????

用PrintStream 的时候,flush();

11----------------------------








你可能感兴趣的:(java)