我已经seen this question了,我想知道是否有任何技术理由可以证明gcc支持Java但不支持C#.如果我理解,Java也是一种解释性语言.如果Mono提供C#编译器和CIL的实现,为什么不能创建一个将C#转换为IL然后静态编译的gcc c#编译器?解决方法:如果编译器工具链不支持特定语言,那通常是因为目前对该语言没有足够的兴趣.所以,这本身并不是技术上的原因 – 只是因为他们现在不想浪费开发人员的时间. 理论上,C#在理论上不能作为静态编译语言实现...
问题:什么可以是Java Class.this的C#等价物? 原因:假设我在Java和C#中都有相同的Form1类.在Java中我们可以编写Form1.this,它是如何用C#编写的.解决方法:没有等价物,C#没有嵌套类支持,它也跟踪外部实例.如果需要,您自己传递指针并将其存储在字段/属性中. 如果您想要的是在同一实例中引用成员的正常情况,只需使用this关键字即可.或者甚至更好,不要 – 这是隐含的.
在C中,存储了静态,动态和局部变量?在C和Java中怎么样?解决方法:如果您正在编译C/C++以创建Windows可执行文件(或者可能用于任何x86系统),则静态和全局变量通常存储在称为数据段的内存段中.此内存通常也分为初始化的变量和程序在其定义中未初始化的变量. 函数内定义的局部变量在程序的运行堆栈上分配,并与函数的返回地址一起分配. 通过“动态”,我假设你的意思是使用new或malloc分配的东西.这些通常存储在称为“堆”的另一个内存区...
我在谈论这些平台的主要实施平台.解决方法:对于Java,JVM本身是用C语言编写的,可能只有一点C甚至汇编程序.另一方面,标准API库几乎完全用Java编写(有一些用C或C实现的本机方法) .
我知道在.NET我可以这样做:DateTime test = DateTime.Now; if (test >= (pastTime + TimeSpan.FromSeconds(15)) {doSomething(); }什么是Java等价物?解决方法:对于这个简单的检查,我建议只使用时间戳(以毫秒为单位),而不是使用java.util.Date或其他一些类:long test = System.currentTimeMillis(); if(test >= (pastTime + 15*1000)) { //multiply by 1000 to get millisecondsdoSomething(); }请注意,pastTime变量也必须以毫秒...
在Java中,我可以使用Iterator.remove()方法http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Iterator.html#remove()迭代集合并从中删除一些对象 这非常自然而且很自然.就像你正在寻找冰箱里的食物,扔掉过期日期的食物.如何在c#中做同样的事情? 我想在同一个循环中迭代和清理集合. 有几个相关的问题,例如How to iterate and update a list但是我仍然无法在c#中找到此操作的确切副本解决方法:如果您正在使用List< T>,则可以...
c和java中hashmap / map对象的最大大小是多少?我想使用hashmap,但我正在处理大量数据.我担心如果我在大数据上使用它,它可能会因为容量限制而崩溃.是这样吗?如果是这样,有什么可以替代的方式?解决方法:在Java中,HashMap的size()类型为int,因此地图中有2 ^ 31-1个元素的上限. 在C中,map::max_size返回最大值.元素数量.在vanilla地图中,最多SIZE_T_MAX元素的上限,在现代硬件上为2 ^ 64-1.
我试图将这个Java(Android)代码转换为c#(MonoDroid),但我不明白< Item extends OverlayItem>public class BalloonOverlayView<Item extends OverlayItem> extends FrameLayout解决方法:它正在为type参数添加一个约束.它类似于C#中的where子句. 在Java中,您有:public class BalloonOverlayView<Item extends OverlayItem> extends FrameLayout其中Item是必须子类化或实现OverlayItem类型的类型参数.在C#中,这将被写为:public clas...
好吧,我正在尝试使用JPA Hibernate Spring首次配置C3P0.在persistence.xml中我有:<properties><property name="hibernate.show_sql" value="false" /><property name="hibernate.format_sql" value="false" /><property name="hibernate.hbm2ddl.auto" value="update" /><property name="hibernate.cache.use_second_level_cache"value="false" /><property name="hibernate.cache.use_query_cache" value="false" /><property na...
我正在开发一个将c#项目翻译成Java的项目.我在C#中有以下Get / Set块public Unit[] Units {get{Unit[] units_aux = new Unit[this.list_units.Count];this.list_units.CopyTo(units_aux);return units_aux;}set{if (value == null) return;Unit[] units_aux = (Unit[])value;this.list_units.Clear();foreach (Unit u in units_aux)this.lista_units.Add(u);} }我想将它翻译成Java,但我没有成功翻译它没有语法错误.我是Java的新手,...
我知道有关于堆栈溢出的一些问题已经存在,但我没有找到任何回答我的具体问题.我来自java开发背景,从不打扰使用get;组;从C#到现在的方法. 我有以下代码class Test {public int test { get; set; } }在我的主要功能中,我可以声明一个新的测试并使用t.Test = 5并且工作正常;但是,当我将公众切换到私人时,我无法访问我的获取;并设定;方法……但是当我使用时(与Java类似的方法)class Test {private int test;public int getTest(){retur...
我正在开发一个针对x86的Android应用程序,需要与C进行一些集成.我一直在使用swig / JNI来完成这个技巧,而且大部分内容都在顺利运行.但是,指针一直给我一些错误. 我的问题是我能够在模拟器(ARM)中成功引用变量地址,但在设备(x86)上,事情并不顺利. 使用this link中的示例,我发现一旦这个地址转移到Java,C中任何已分配变量的地址就变为NULL.例如… Swig生成的JNI:SWIGEXPORT jlong JNICALL Java_exampleJNI_new_1intp(JNIEnv *jenv, ...
这是自从阅读Effective Java以来??我一直在使用的一个很好的习惯用法.我一直试图找到一个C等价物或类似的东西,但运气不好. GoF书中的传统建筑模式在我的案例中并不适用.这是一个复杂的对象,它有一个非常混乱的构造函数.下面是Java的一个小实现.class ComplicatedObject {private String field1;private String field2;private int field3;private ComplicatedObject(Builder builder) {this.field1 = builder.myField1;this.f...
我正在尝试为iPhone构建一个应用程序,尽管我是Obj-C的新手.对于一个问题,我在Java中使用ByteBuffer,但我在Apple的文档中没有看到任何合适的类.所以我可能必须自己实现它. 我的问题是,如何做到最好: > Obj-C中是否有类似的类? (这将是最好的解决方案;))>我应该使用像NSData这样的Obj-C类吗?>或者我应该使用普通的C代码?解决方法:你可能想要NSMutableData.
有没有合理的解释,为什么在Java集合中搜索元素是如此困难?例如,假设我有:ArrayList<People> listPeople = new ArrayList<People>();public class People {public String name;public String age;//some other code here }你有了这个想法……现在,如果我想从列表中获得一个具有给定名称的人,让我们说’Anthares’我必须做很多工作:创建一个名为’Anthares’的新人,可能会启动它其他数据,为Person类预定义我的equals方法,然后调用...