`
茶杯里的台风
  • 浏览: 12432 次
  • 性别: Icon_minigender_2
文章分类
社区版块
存档分类
最新评论

空指针与传参浅谈

 
阅读更多

      20130731         浅谈空指针与传参   

     最近一直在写客户机与服务器,过程中遇到了很多问题,其中空指针和传参问题一直存在。之前只是有一些这方面的想法,也没有形成书面上的总结,今天胡哥问起,自己就仔细想了一下在这过程中存在的问题,就趁热打铁,写了这篇总结。

     对于空指针,以前只是停留在抽象的层面上,基本上没有自己去解决过空指针问题,只是知道该怎么去做,是怎样一个过程,完全是纸上谈兵。这次写通信,遇到了很多次空指针和传参问题,就趁此机会总结一下。

     空指针,我这次出现空指针,很大一部分是和传参联系在一起的,大多数时候是因为参数没有传过来,出现空指针异常问题。

     在写程序之前一定要头脑清醒,知道自己在做一些什么。一个类需要哪些参数,是需要传参,还是需要实例化,还是赋值时出了问题,赋值为null了等等问题。

     这样就要一步一步进行检查,顺藤而上,逐步检查是哪一个部分出了问题。

 

 下面是客户机从服务器中读取消息的部分,在将服务器发来的消息显示出来时一直报空指针:

/**
		 * 从服务器中读取消息,这个方法会阻塞,必须在独立线程中
		 */
		public void readFromServer(){			
			String inputs;
			try {				
				BufferedReader brd = new BufferedReader(new InputStreamReader(ins));
				//逐行读取服务器中发来的消息
				inputs = brd.readLine();
				System.out.println("服务器中发来的inputs为:"+inputs);
				while (!inputs.equals("exit")){
				System.out.println("服务器发来消息:"+inputs);
				jte.append("服务器发来消息:"+inputs+"\r\n");				
				inputs = brd.readLine();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}		
		}

 

        逐步检查后才发现,虽然将jte 传过来了,但是在之前jte的值是空的。

        从这次练习,我学到了很多:在大处需要细心,在小的地方更要细心;做任何事情之前一定要有清晰的思路;要不时的回头看看自己做了一些什么东西,中间出现了一些什么问题,要及时的做一些回顾与总结。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics