java(c#)基础差异-字符串

     2022-03-15     192

关键词:

1、字符串比较

Java

对字符串对象进行比较不能简单的使用比较运算符"==",因为比较运算符比较的是两个字符串的地址是否相同。即使两个字符串的内容相同,两个对象的内存地址也是不同的,使用比较运算符仍

然会返回false。需要使用equals或者equalsIgnoreCase。

举例如下:

public static void main(String[] args) {
    /*
     * 对字符串对象进行比较不能简单的使用比较运算符"==",因为
     * 比较运算符比较的是两个字符串的地址是否相同。即使两个字符串的内容相同,两个对象的内存地址也是不同的,使用比较运算符仍然会返回false。
     * 需要使用equals或者equalsIgnoreCase
     */
    String s1 = new String("abc");
    String s2 = new String("ABC");
    boolean b = s1.equals(s2);
    boolean b2 = s1.equalsIgnoreCase(s2);
    System.out.println("equal结果:" + b);
    System.out.println("equalsIgnoreCase结果:" + b2);
}

运行结果如下:

技术分享

C#

在C#中,对于引用类型来说,等号(==)比较的是两个变量的”引用” 是否一样,即是引用的”地址”是否相同。而对于equals来说仍然比较的是变量的  ”内容” 是否一样,由于string是微软封装的一个字符串类,在内部他已经对 = = 操作符进行了重写。重写后他比较的则是两个变量的内容是否相同。

举例如下:

public static void TestMethod()
{
    string s1 = "abc";
    string s2 = "ABC";
    bool result = s1 == s2;
    Console.WriteLine(result);
}

2、字符串格式化

Java与C#主要是格式化关键字,形式不同,详情较多,不细介绍。

java(c#)基础差异-语法

1、long类型Javalong类型,若赋值大于int型的最大值,或小于int型的最小值,则需要在数字后加L或者l,表示该数值为长整数,如longnum=2147483650L。举例如下:publicstaticvoidmain(String[]args){/**对于long类型,若赋值大于int型的最大值,或... 查看详情

Java和c#中受保护的成员差异

】Java和c#中受保护的成员差异【英文标题】:ProtectedmemberdifferenceinJavaandc#【发布时间】:2014-05-1313:17:09【问题描述】:我在Java中有以下代码publicclassFirstprotectedintz;First()System.out.append("Firstconst");classSecondextendsFirstprivateintb;protectedint 查看详情

Java 到 C# 尝试学习和理解两者之间的差异 [关闭]

】Java到C#尝试学习和理解两者之间的差异[关闭]【英文标题】:JavatoC#Tryingtolearnandunderstandthedifferencesbetweenthetwo[closed]【发布时间】:2021-05-0701:35:32【问题描述】:我学习了几个Java课程,在学习之后了解到C#非常相似,我正在尝试... 查看详情

如何在 C# 中获取两个字符串数组之间的差异?

】如何在C#中获取两个字符串数组之间的差异?【英文标题】:HowdoIgetthedifferencesbetweentwostringarraysinC#?【发布时间】:2012-06-1500:40:13【问题描述】:如何使用C#.net比较两个数组字符串?例如:string[]com1="COM6","COM7";string[]com2="COM6","CO... 查看详情

C# 和 VB.Net 之间的表达式树差异

...Net注意到不同语言在表达式树的构建方式上存在一些差异字符串比较()=>"a"=="b"变成Expression.Equals(& 查看详情

c#基础

命名空间下的类型可以为:Class、interface、delegate、struct、enum,不可以直接写变量和方法。除了一下差异,C#中的变量几乎和C++中一样:1、C#中的变量,总是需要你在访问前进行初始化,否则编译出错。2、不能在C#中访问一个“... 查看详情

c#面向对象基础

提到“面向对象”就必须要说到“面向过程”:面向过程:面向完成这件事的过程,强调的是完成这件事的动作(针对每个人量身定做的动作)。面向对象:找个对象帮你做事,可以写出通用代码,屏蔽差异。 ... 查看详情

为啥 Java 和 C# 有位移运算符?

...916:41:17【问题描述】:整数乘法(暂时忘记除法)之间的差异是否仍然有利于移位,如果是,差异有多大?这似乎只是一个低级优化,即使你想要它,在大多数情况下不应该(C#/Java)到字节码编译器或jit捕获它?注意:我测试了C#... 查看详情

c#学习--基础二

字符串strgingstr="astring";//定义一个字符串变量str,将“astring”字符串常量赋值给strforeach(charcharacterinstr){//遍历字符串Console.WriteLine("{0}",character);}char[]chars=str.ToCharArray();//str对象调用ToCharArray()方法,将s 查看详情

c#快速入门~在java基础上,知道c#和java的不同即可(代码片段)

...的主语言是java,现在想再学一门新语言C#,下文是在java基础上,对比和java的不同,快速上手C#,当然不是说学C#的前提是需要java,而是下文是从主语言是java的情况下,学习C#入门到进阶。C#学习参考文档和开发工具微软c#官方文... 查看详情

c#基础知识

...类型 char ,存储用‘‘(单引号)括起来的一个字符字符串类型string ,存储用“”(双引号)括起来的一串字符,整数类型 int ,存储整数双精度浮点型 double ,存储小数逻辑运算符用来连接多个 bool&n... 查看详情

C# 两个几乎相同的线程,性能差异很大

】C#两个几乎相同的线程,性能差异很大【英文标题】:C#Twonearlyidenticalthreads,bigperformancedifference【发布时间】:2021-03-0704:29:41【问题描述】:我有一个大型的C#多线程系统,我意识到两个线程之间的性能差异很大。现在我设计了... 查看详情

c#面向对象基础5

字符串 string(1)字符串的不可变性当给字符串重新赋值时,老值没有被销毁,而是重新开辟了一块新的空间去储存新值《------------------堆中,在栈中地址发生变化重新指向新值所处空间的地址。 具体过程请看图解(相... 查看详情

c#基础入门学习笔记——c#的四种基本数据类型

...来的一个字符,例如: charsex=‘男‘;//存储性别 字符串类型string,存储用“”(双引号)括起来的一串字符,例如: stringaddress="北京市宣武区牛街北口";//存储地址 整数类型int,存储整数,例如:  intage=23... 查看详情

java示例代码_从Java中字符串的ArrayList中找出差异

java示例代码_从Java中字符串的ArrayList中找出差异 查看详情

c#夯实基础之字符串

  string作为我们在编程当中用的最多的数据类型,同时又由于它的特殊性,怎么强调它的重要性都不为过,理解string的一些类型和存储机制,有助于我们写出正确且高效的代码.一.string类型  1.string的类型   stri... 查看详情

使用 C# 的年份日期差异 [重复]

】使用C#的年份日期差异[重复]【英文标题】:DatedifferenceinyearsusingC#[duplicate]【发布时间】:2011-05-0620:32:39【问题描述】:如何计算两个日期之间的年差?例如:(Datetime.Now.Today()-11/03/2007)以年为单位。【问题讨论】:发现骗子的... 查看详情

不同 getter 样式之间的 C# 差异

】不同getter样式之间的C#差异【英文标题】:DifferenceinC#betweendifferentgetterstyles【发布时间】:2018-02-1307:43:05【问题描述】:我有时确实会在getter的属性中看到缩写。例如。这两种类型:publicintNumberget;=0publicintNumber=>0;谁能告诉我... 查看详情