c#:string与stringbuilder
java:string与stringbuffer
第一个不习惯是string的第一个字母必须大写了。
第二个不习惯是int得写成integer了,虽然可以定义int i=0,但是对于泛型等用法必须arraylist<integer>。
c# :hashtable list<t> dictionary<t,k>
java:hashtable list(包括:arraylist<t>,linkedlist<t>) map<t,k>(包括:hashmap<t,k>,sortedmap<t,k>)
set(包括:hashset<t>, soredset<t>)
set:不能包含重复的元素;
list:可以包含重复的元素。
集合的类还是挺多的,比较的我头差点都大了,最后才找出这种简单的对应关系。
c# :stack<t> queue<t>
java:stack<t> queue(包括四个:linkedblockingqueue<t>、arrayblockingqueue<t>、priorityblockingqueue<t>、delayqueue<t>)
stack用法基本一致,queue用法与名称基本上差天与地,下面有详细解答。
java queue 的相关方法:
add 增加一个元索 如果队列已满,则抛出一个iiiegaislabeepeplian异常
remove 移除并返回队列头部的元素 如果队列为空,则抛出一个nosuchelementexception异常
element 返回队列头部的元素 如果队列为空,则抛出一个nosuchelementexception异常
offer 添加一个元素并返回true 如果队列已满,则返回false
poll 移除并返问队列头部的元素 如果队列为空,则返回null
peek 返回队列头部的元素 如果队列为空,则返回null
put 添加一个元素 如果队列满,则阻塞
take 移除并返回队列头部的元素 如果队列为空,则阻塞
更详细的参考文章链接:http://www.cnblogs.com/end/archive/2012/10/25/2738493.html
c# :foreach(object o in objlist){} 实现迭代的接口名称为:ienumerable
java:foreach(object o : objlist){} 实现迭代的接口名称为: iterable
c# :void sum(params int[] list){} 以params 为关键字
java:void sum(int ...list){} 以“...“三个点为关键字
c# :只能enum设置常量数值
java:除了和c#一样的设置常量数值,java仍保留了特殊类的基本功能,让玩家自己玩;而c#而做了特殊限制。

c#的转换代码:
public class test
{
protected void method()
{
a a = (a)enum.parse(typeof(a), "b");//枚举转换
foreach (string enumname in enum.getnames(typeof(a)))
{
//枚举遍历
}
}
public enum a
b,
c
}
java的转换代码:
public class test
a a = a.valueof("b");
for (a a : a.values())
}
基本上一致,今天看的内容,基本就这么多了,所以就写到这里了,这么点内容,光比较整理,花了好几个小时,真悲催。