C# | java | |
string | string | String |
类的定义 | 类可以和文件名不同 | 类必须和文件名相同 |
方法的定义 | 公共方法首字母大写 | 第一个首字母消息,其他大写 |
控制台输入 | Console.readline()只返回字符串 | Scanner() sc = new Scanner(); int a = sc.nextInt(); string str = sc.next(); |
引用库 | using namespace | import package |
属性 | public string Name{get;set;} | private string _Name=""; public getName() public setName() |
ArrayList | 没有泛型 list[i] list.Count | 可以是泛型,加<>指定类型,但必须是引用类型 ArrrayList<Integer> ArrayList<String> list.get(i) list.size() list.set(i,num) |
访问权限 | 默认private | 默认是包范围 |
访问父类成员 | base(基类) | super(超类) |
继承 | 冒号: | extends继承类,implements实现接口,接口继承用extends |
重写父类方法 | 输入override提示父类的方法 | 直接拷贝过来方法签名即可,签名中不包含override字样 |
常量关键字 | const | final |
密封类或方法 | sealed | final |
代码块 | 静态构造函数(功能类似静态代码块) | 静态代码块,构造代码块 |
重写方法 | public override就会提示选择输入即可 | 直接输入方法名会提示输入即可 |
判断引用类型 | is | instanceof |
运算符重写 | 有,比如==比较字符串,重写为比较的值,所以在c#里面==和equals是相等的 | 没有,比如==比较字符串,比较的是地址,但equals方法惊醒了重写,比较的是值,所以在java中比较尽量用equals |
输入时选择 | tab | enter |
运行快捷键 | F5 | CTRL+ALT+F10 |
文档注释 | 属性设置生成,输出,xml格式 | 需要到出,html格式 |
substring方法 | 第一个参数是startindex,第二个参数是长度 | 第一个参数是startindex,第二个是endindex(不包含) |
字符串转字节数组 | Encoding.UTF8.GetBytes() | strObj.getBytes() |
解决字符串不可变对象 | StringBuilder | StringBuffer,StringBuilder都有,而且方法完全相同,只是StrinbBuffer是线程安全的类 ,一般用StringBuilder,效果更高 |
正则表达式 | using System; namespace GrammaDemo //替换 //分割
Console.ReadLine(); } | package day0727_1; public class RegexDemo { |
foreach | foreach (var item in collection) } | for (String string : strs) { System.out.println(string); } |
时间转换 | DateTime dt1 = DateTime.Now; Console.WriteLine(str); var dt2 = DateTime.Parse("2020-1-1"); Console.ReadLine(); | Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String str = sdf.format(date); System.out.println(str); Date dt=null; try { dt = sdf.parse(str); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(dt); |
基本类型包装类 | 没有包装类,直接用基本类型调用转换方法 | 存在基本类型包装类,Integer Double Float Character,需要使用包装类来调用转换方法 |
进制字符串转换 | Convert.ToInt32("10",2)二进制字符串转换成数字 Convert.ToString(10,2)数字转二进制字符串 | Integer.parse("10",2),二进制字符串转换成数字 Integer.toString(t, 2);数字转换成二进制字符串 |
Array帮助类 | Array | Arrays |
Array得ToString() | 没有,可以用string.join(" ",arr)打印所有得元素 | Arrays.toString(arr) |
ICollection接口 | ICollection 接口有Count Add Remove Contain等方法 ToArray方法是在Enumerable类中定义得IEnumerable得扩展方法 | Collection接口有size,add(),remove(),contains.toArray等方法 |
字典 | Dictionary<k,v> | HashMap<k,v> |
方法声明异常 | 无法声明抛出异常 只能在方法中通过throw抛出异常 | 利用throws关键字声明抛出异常,并在方法种通过throw抛出异常 |
获取异常信息 | ex.Message | ex.getMessage() |
文件目录 | 存在File Directory两个类 | 只有File类 |
创建文件 | File.Create() File.CreateText() | File file = new File(filePath) file.createNewFile(); |
创建目录 | Directory.CreateDirectioy | File file = new File(dirPath) file.mkdirs() |
获取父目录 | Directory.GetParent() | fileObj.getParent() fileObj.getParentFile() |
文件大小 | fileInfo.length | file.length() |
文件名 | fileInfo.Name fileInfo.FullName | file.getName() file.getAbsolutePath() |
判断是否是文件或者目录 | File.Exists Directory.Exists | file.isFile() file.isDirectory() |
文本文件读写(默认编码GBK) | File.ReadAllText() Fille.WriteAllText() | FileWrite ,FileReader |
文本文件读写(可以指定编码表) | StreamWriter StreamReader | OutputStreamWriter InputStreamReader |
字节读取文件 | FileStream fs = File.OpenRead(str) FileStream fs = File.OpenWrite(str) | FileInputStream fis = new FileInputStream(str) FileOutputStream fos = new FileOutputStream(str) |
缓冲字节流 | BufferedStream | BufferedInputStream BufferedOutputStream |
缓冲字符流 | 无 | BufferedWriter BufferedReader |
string.format | string str = string.Format("{0:x}", 20); | String result = String.format("%x", 20); |