`

自己的误区

 
阅读更多

          本篇博客持续更新,发现有误区的地方会加进来.......................................

 

1.

printf("%f\n",2.2+1/4);

以为会输出2.45

实际上输出时2.2。

以为1/4是0.25

实际上是0。

因为1和4都是int型的。若改为1.0/4就是2.45了。

 

2.最近写个C/S的东东,传送消息的时候是先发送消息长度再发送消息本身。发送消息的长度采用了sendStr.length()获得。然后将sendStr.getBytes()传送给客户端。

     在上述过程中出现了问题,分析:

                        String.length()返回字符串的字符个数,一个中文算一个字符;

                        String.getBytes().length返回字符串的字节长度,一个中文两个字节;

      所以在传送的时候如果有中文字符,传出去的长度会把一个中文字符当一个,导致出错。

编码实际上是一个大问题,具体详见另一篇博客: http://wjy320.iteye.com/blog/2065895

 

 

3,一直以为java中final修饰的是不能更改的,如果用final修饰List或者Set可不可以调用add和remove方法呢?当然是可以了:

 

	private static  final Set<String> mySet;
	static{
		mySet=new HashSet<String>();
	}
	public static void main(String args[]){
		mySet.add("hello");
		mySet.add("world");
		
		System.out.println(mySet);
		
		mySet.remove("hello");
		System.out.println(mySet);
	}
//运行结果:
[hello, world]
[world]

 用final修饰的set,只是在栈上的这个引用这辈子只能指向初始化时在堆中分配的那个hashset了,但是add和remove是堆中实例化对象的方法,对堆中的对象进行操作的当然可以用了。只要mySet引用不便就行了,始终指向那个hashset就行了。

 

4.看看下面代码:

public class HeadOOM {
	private String string=null;
	public static void main(String args[]){
		HeadOOM headOOM=new HeadOOM();
		headOOM.string="hello";
		
		headOOM=null;
		
		System.out.println(headOOM.string);
	}
}
//运行结果:
Exception in thread "main" java.lang.NullPointerException
	at com.get.set.HeadOOM.main(HeadOOM.java:20)

 

分享到:
评论

相关推荐

    网络安全的误区.docx

    现在有许多人都认为自己的电脑,在边界安装了防火墙、在桌面上安装了防病毒和防间谍软件工具、使用加密技术发送和保存数据,疯狂补丁打漏洞,就以为万无一失了,可事实真的是这样吗让带你了解一下常见的网络误区吧。...

    2.新人必看!!抖音十大误区!不要让自己抖音废掉!.docx

    2.新人必看!!抖音十大误区!不要让自己抖音废掉!.docx

    Java学习时容易陷入的误区

    Java是一种广泛使用的编程语言,但许多人在学习时容易陷入一些误区。首先,一些人盲目追求高级特性,希望通过复杂的代码实现更高效或简洁的解决方案。然而,这种做法往往导致代码难以理解和维护。因此,初学者应该先...

    关于些个人企业给自己做网站的误区

    希望一些想把网站弄好的朋友看到 鹏程 科技

    不得不看的电路设计八大误区

    我们常常会发现,自己想当然的一些规则或道理往往会存在一些差错。电子工程师在电路设计中也会有这样的例子。下面是一位工程师总结的八大误区点。

    电路设计中 的 八大误区

    我们常常会发现,自己想当然的一些规则或道理往往会存在一些差错。电子工程师在电路设计中也会有这样的例子。下面是一位工程师总结的八大误区点。

    三极管做开关扩流的电路及使用误区

    在数字电路设计的中,往往需要把数字信号经过开关扩流器件来驱动一些蜂鸣器、LED、继电器等需要较...本人把自己使用三极管的一些经验以及一些常见的误区给大家分享一下,在电路设计的过程中可以减少一些不必要的麻烦。

    电子工程师经验谈:电路设计的八大误区

    我们常常会发现,自己想当然的一些规则或道理往往会存在一些差错。电子工程师在电路设计中也会有这样的例子。本文是一位工程师总结的八大误区点,希望对你有所帮助。

    PCB设计之:必知的PCB设计八大误区

    我们常常会发现,自己想当然的一些规则或道理往往会存在一些差错。电子工程师在电路设计中也会有这样的例子。本篇文章是一位工程师总结的八大误区点。

    面试框架+技巧+礼仪+法则+误区+案例分析.zip

    面试框架+技巧+礼仪+法则+误区+案例分析 精品面试准备资料,包含了各种技巧梳理以及要点整理。 包含: 五个模板教你搞定面试自我介绍.pdf 面试时,如何介绍死的快.pdf 面试自我介绍 幽默一点也无妨.pdf 面试自我介绍...

    工程师在电路设计中的八个误区

    我们常常会发现,自己想当然的一些规则或道理往往会存在一些差错。电子工程师在电路设计中也会有这样的例子。下面是一位工程师总结的八大误区点。

    英语学习的真实方法及误区分析

    对外语学习的主要误区 1.要有语言环境, 多跟外国人交流,最好是能出国,不久自然就能会说了。 2.学习外语要多记多背,也就是说是用记忆学语言。 3.想纠正发音,一定要专听和模仿纯正的发音,比如BBC或VOA那种。 4...

    经验之谈,工程师在电路设计中的八大误区

    我们常常会发现,自己想当然的一些规则或道理往往会存在一些差错。电子工程师在电路设计中也会有这样的例子。下面是一位工程师总结的八大误区点。

    大数据的误区:数据统计≠大数据.pdf

    大数据的误区:数据统计 大数据 大数据太火了,被广泛应用到各行各业,而近阶段又有着明显的过热迹象。大数据到底是一 个营销词汇,还是一个方法论?本文作者老李正是一家大数据服务提供商的资深员工,他所 做的项目...

    破误区定式方法=问题拆解+消除未知+成本风险+步骤分解

    批判性思维是一种思维模式,它要求思考者通过分析、评估、重构自己的思维,来提高自己的思维水平。它基于充分的理性和客观事实进行理论评估与客观评价,不为感性和无事实根据的传闻所左右。批判性思维强调思维的质疑...

    嵌入式入门误区及学习方法

    嵌入式技术应用 在第... C语言不仅提供了极为丰富的库函数(如Turbo C,MS C 都提供了三百多个库函数),还允许用户建立自己定义的函数。用户可把自己的算法编成一个个相对独立的函数模块,然后用调用的方法来使用函数

    EEPROM读写操作常见的误区

    在项目开发中经常使用到EEPROM,现在把自己开发中曾经遇到的陷阱和自己的解决方法列出。

    关于async和await的一些误区实例详解

    微软官方的MSDN上说async和await是“异步”,但是不少人(包括笔者自己)都有一些误区需要澄清:为什么await语句之后没有执行?不是异步吗? 先举一个示例代码如下: public partial class Form1 : Form { public ...

    性能测试常见误区[1]

    性能测试常见误区[1]软件测试请看下面一个性能测试小案例:某公司OA产品的新版本即将发布。为了看看系统的性能,决定安排测试工程师A君执行性能测试任务。A君做法如下:1.找到一台PC机,CPU主频1G,内存512M,...在自己

    开关三极管的使用误区

    本人在 这个方面就吃过亏,所以把自己使用三极管的一些经验以及一些常见的误区给大家分享一下,在电路设计的过程中可以减少一些不必要的麻烦。  下面来看几个三极管做开关的常用电路画法。几个例子都是蜂鸣器作为...

Global site tag (gtag.js) - Google Analytics