| 查看: 481 | 回复: 0 | |||
[交流]
【转帖】Delphi与Java用法区别
|
|
一、运算符 二、语句 三、其他 字符串处理 DELPHI var s: string; // 变量身明 s := s + 'a string'; // 字符串表达,赋值 JAVA (普通用法) String s = new String(); s += "a string"; 或 s = s + "a string"; 由于String对象不可修改,导致对String对象赋值会有一个StringBuffer对象产生并销毁,一个新的String对象被产生。在大字符串处理和循环处理时,性能极差。----参见《JAVA 字符串处理速度测试》 JAVA (优化用法) StringBuffer s = new StringBuffer(); //如果字符串较大,最好能够赋予一个初始的StringBuffer大小。 s.Append('a string'); 数组 DELPHI var a:array of string; SetLength(10); JAVA (1)Arrays String[] a = new String[10]; int [] a = {1,2,3,4} 可以直接赋初始值(不管是基本类型还是对象) 注意:不可改变数组大小! 拥有以下实用的函数:full,sort,equals,binarySearch,System.arraycopy (2)ArrayList (LinkedList) ArrayList a = new ArrayList(); a.add(new Integer(1)); a.get(1); 注意:数组的值必须是对象类型! 不能用“[]”取值。 容器的元素是Object类。(也即使用时需要强制转型)(JDK1.5支持泛型JAVA) ArrayList随机访问性能好,但元素插入和删除性能差。 LinkedList反之。 LinkedListList中央插入和删除元素性能好,可以用来制作stack,queue或deque。包含下列函数:addFirst,addLast,getFirst,getLast,removeFirst,removeLast 要访问一个容器,最好是使用迭代器,例如a.iterator()。 迭代器使用: void print(Iterator e) { while (e.hasNext) System.out.println(e.next());} 迭代器包含下列函数:next,hasNext,remove 注意:当取得一个迭代器后,如果容器被改变,会抛出异常。 集合 DELPHI var option : set of char; option := ['a','b']; JAVA (1)BitSet 大小不限制。 性能相比array略差。 (2)HashSet (TreeSet) 元素必须唯一。 每个元素都必须定义equals函数和compareTo函数。 HashSet查找性能好,但无法排序。必须定义hashCode函数。 TreeSet是有序的,但查找性能较差。 TreeSet可以产生大小在一定范围内的一批元素。 Key/Value对 DELPHI 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yaoyepeng/archive/2008/07/08/2626537.aspx var sl: TStringList; sl.Values['key'] := 'value'; JAVA HashMap (TreeMap,WeakHaspMap) TreeMap可排序,但性能较差。可以返回在一定大小范围内元素的子集。 HashMap性能好,不可排序。需要提供hashCode、equals等函数。 WeakHaspMap似乎可以节省内存空间。 文件操作 DELPHI 压缩 DELPHI zlib.pas JAVA ZipInputStream / ZipOutputStream RTTI DELPHI is, as ,className,typInfo.pas JAVA instanceof或isInstance()相当于delphi中的is Class.forName("AClass" 相当于 AClass.class对于外覆类例如Integer,其Integer.TYPE 等同于 integer.class Class.forName("AClass" .newInstance()可以产生一个新对象(该类必须具有缺省构造函数)。java.lang.reflect提供Field, Method. Constructor等类。 var fin :TFileStream; JAVA (1)InputStream / OutputStream 2) RandomAccessFile |
» 猜你喜欢
全日制(定向)博士
已经有5人回复
假如你的研究生提出不合理要求
已经有10人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
实验室接单子
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复

找到一些相关的精华帖子,希望有用哦~
注册化工工程师 与 化工工程师 区别,化工工程师也是考取吗?
已经有14人回复
色谱中,二乙胺和三乙胺的用法和区别
已经有15人回复
真核表达载体 原核 区别与扩增
已经有8人回复
氧指数和抗氧指数有什么区别?
已经有9人回复
【求助】如何用DELPHI实现对多种类型文件的管理功能
已经有9人回复
请问博后脱产与不脱产的区别
已经有12人回复
气相色谱进样注射器的区别
已经有6人回复
【求助/交流】western的pvdf膜和NC膜有什么区别?
已经有4人回复
1.【求助】弱问:cover letter 和 resume的区别是什么?(续)2.赠金币,求祝福
已经有35人回复
自然科学基金和青年基金有什么区别
已经有22人回复
【转帖】Delphi代码的标准风格
已经有5人回复
elsevier投稿:cover letter、responded to reviewers和revision note的区别
已经有15人回复
科研从小木虫开始,人人为我,我为人人












相当于 AClass.class
回复此楼
点击这里搜索更多相关资源