浅谈Java与C#的一些细微差别

时间:2022-09-25 06:33:36 

由于工作和之前学习的原因,我需要同时使用Java和C#两门语言。这几年,我也一直在使用J2EE平台和.NET平台做开发。说起C#和Java这两门语言(语法,数据类型 等),个人以为,大概有90%以上的相似,甚至可以认为几乎一样。但是在工作中,我也发现了一些细微的差别,而且很多时候我常常会搞混一些小细节。

例如:

在Java中定义字符串,通常使用“String”(首字母大写)去定义,而在C#中,一般使用string(首字母小写)去定义。我经常同时使用Microsoft Visual Studio 和Eclipse同时开发时,经常把“字符串类型”的大小写搞混淆,呵呵。

再就是,Java中定义Integer类型,而C#中没有这个语法,但他们想要描述的其实都差不多,只是语法上的表现形式不同罢了。

常量声明:Java 为此而使用 final 关键字,而 C# 使用关键字 const 或 readonly。

C# 提供了在 Java 中可用的所有数据类型,并且增加了对无符号数和新的 128 位高精度浮点类型的支持。

在 Java 中,对于每个基本数据类型,核心类库都提供了一个包装类来将其表示为 Java 对象。例如,Integer 类包装 int数据类型,而 Double 类包装 double数据类型。

而在 C# 中,所有的基本数据类型都是 System 命名空间中的对象。对于每个C#数据类型,都提供一个简称或别名。例如,int 是 System.Int32 的简称,而 double 是 System.Double 的简写形式。因为 C# 将所有的基本数据类型都表示为对象,所以按照基本C#数据类型来调用对象方法是可能的。例如:


    int i=10; 
    Console.WriteLine(i.ToString());


还有在Java中使用泛型集合List,通常这样去定义(使用C#的那种方式去定义,会编译不通过):


List<int> list = new ArrayList<int>();


而在C#中使用泛型集合List,必须这样去定义,如果使用Java中的那种方式,则编译不通过。


  List<int> list = new List<int>();


上面描述的一些小例子,是比较典型的。而且大都是和语法,数据类型等相关的。由于本人水平有限,以及时间的关系,对于那些更细节及更深入的内容(比如:为什么必须这样去定义......),就暂时不细说了。后续我也会不断的整理,深入的研究,并更新。

本文只是抛砖引玉,希望读者能够用心去体会,热心的朋友也可以一起研究、总结,整理供大家一起学习并分享。

标签:Java,C#
0
投稿

猜你喜欢

  • 总结Java的Struts框架的异常处理方法

    2022-04-12 01:29:44
  • JVM中的flag设置详解

    2022-08-11 01:37:20
  • Android刮刮卡功能具体实现代码

    2021-08-06 04:12:24
  • Java实现读写文件功能的代码分享

    2023-02-07 04:07:02
  • Android10 启动之SystemServer源码分析

    2021-08-15 05:38:13
  • Java中Builder模式的实现详解

    2022-08-06 15:37:24
  • java实现快速打字游戏

    2022-11-05 11:16:38
  • Java设计模式之享元模式示例详解

    2022-12-08 22:19:46
  • java转换字符串编码格式的方法

    2022-02-12 04:30:24
  • Android DownloadProvider 源码详解

    2023-02-11 03:26:17
  • Java NIO框架Netty简单使用的示例

    2022-09-08 02:51:27
  • Java算法设计与分析分治算法

    2022-04-02 08:07:15
  • C++中用指向数组的指针作函数参数

    2022-08-27 23:11:33
  • java 中基本算法之希尔排序的实例详解

    2023-07-30 12:26:37
  • C# WORD操作实现代码

    2023-11-20 05:16:25
  • Android系统view与SurfaceView的基本使用及区别分析

    2023-04-08 00:33:26
  • java 垃圾回收机制以及经典垃圾回收器详解

    2022-07-06 05:16:08
  • spring-boot使用Admin监控应用的方法

    2023-06-28 19:58:39
  • Java Fluent Mybatis 项目工程化与常规操作详解流程篇 上

    2022-08-28 16:47:28
  • springcloud gateway如何实现路由和负载均衡

    2023-01-09 07:13:35
  • asp之家 软件编程 m.aspxhome.com