浅谈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>();
上面描述的一些小例子,是比较典型的。而且大都是和语法,数据类型等相关的。由于本人水平有限,以及时间的关系,对于那些更细节及更深入的内容(比如:为什么必须这样去定义......),就暂时不细说了。后续我也会不断的整理,深入的研究,并更新。
本文只是抛砖引玉,希望读者能够用心去体会,热心的朋友也可以一起研究、总结,整理供大家一起学习并分享。


猜你喜欢
- 本文实例讲述了Android编程中EditText限制文字输入的方法。分享给大家供大家参考,具体如下:Android的编辑框控件EditTe
- MoshiMoshi是一个对Kotlin更友好的Json库,square/moshi: A modern JSON library for
- 本文实例为大家分享了Android广播实现App开机自启动的具体代码,供大家参考,具体内容如下一、概括在安卓中,想要实现app开机自动启动,
- 本文实例讲述了Android使用selector修改TextView中字体颜色和背景色的方法。分享给大家供大家参考,具体如下:android
- 本文实例为大家分享了Android实现自动转圈效果展示的具体代码,供大家参考,具体内容如下在values文件夹下创建attrs.xml<
- 本文主要介绍了Android studio利用gradle打jar包并混淆的方法,下面话不多说,来看看详细的介绍吧。首先打jar包的配置很简
- 这篇文章主要介绍了Spring AOP AspectJ使用及配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 简介虽然java有自动化的GC,但是还会有内存泄露的情况。当然java中的内存泄露跟C++中的泄露不同。在C++中所有被分配的内存对象都需要
- 缓存在很多情况下需要用到,合理利用缓存可以一方面可以提高程序的响应速度,同时可以减少对特定资源访问的压力。本文主要针对自己在Winform方
- Android M(6.0)API 23后加入了权限请求设置,APP需要使用某些权限需要主动申请。权限分为3类,一组是Normal权限,无需
- 概述众所周知使用 JWT 做权限验证,相比 Session 的优点是,Session 需要占用大量服务器内存,并且在多服务器时就会涉及到共享
- Java Comparable 和 Comparator 的详解及区别Java 中为我们提供了两种比较机制:Comparable 和 Com
- 本文实例为大家分享了Unity3D实现打砖块的具体代码,供大家参考,具体内容如下基于unity20171、 使用Plane创建初始地图(层级
- 我们都知道在一些特殊的场景,我们需采用特殊的编码格式,如:UTF-8,但是系统默认的编码为ISO-8859-1那么我们就需要将编码转换为我们
- 前言含义:(1)多重循环指一个循环语句的循环体中再包含循环语句,又称嵌套循环。(2)循环语句内可以嵌套多层循环。(3)不同的循环语句可以相互
- main方法调用spring的service将业务层类配置到Spring中:<bean id="customerServic
- FeignClient脱离eureka自定义URL需求Spring Cloud环境中的FeignClient有时候需要调用特定主机的接口,但
- Java读文件修改默认换行符Java默认换行符是'\n'。但有时数据并不以'\n'进行换行方法如下publi
- 本文实例为大家分享了Java实现登录和注册的具体代码,供大家参考,具体内容如下登录和注册案例的分析:我们在完成一个需求时,需要面向对象,我们
- 异常是程序运行中发生的错误,异常处理是程序设计的一部分。错误的出现并不总是编写应用程序者的原因,有时候应用程序会因为终端用户的操作发生错误。