Tag: Java

Android没有Java

在做了整个“企业”编程之后,我对语言本身非常失望,如果不得不回头去总是觉得很麻烦。 平均Android应用程序的项目大小不是太吓人,图书馆的编码风格实际上相当不错,但是如果我能避免Java,我肯定会这样做。 所以这就是问题:我能避免吗? 虽然在桌面和服务器上有很多JVM语言可供选择,但Dalvik VM和设备本身也有一些限制。 在2.2版本中,这似乎更好一些,但将自己限制在最前沿将是一个相当苛刻的决定。 我所知道的唯一选择似乎是Scala。 有一些可能性我错过了吗? Clojure似乎正好运行在我上面用Dalvik说明的问题上,但是由于AppInventor是建立在Kawa上的,所以在移动平台上Lisp可能有希望。 还有哪些其他的语言已经可以使用或者朝着这个方向迈进了呢

Spring Boot无法在IntelliJ中运行单个测试

最近开始发生,但我不确定是什么改变了。 当我从IntelliJ运行所有测试时,一切都很好。 而且gradle build也很好。 当我运行一个unit testing时,一切都很好。 当我运行一个Web集成测试时,它失败,因为一个配置类具有所有的空属性。 配置类看起来像(Kotlin): @Component @ConfigurationProperties(prefix = “api”) public open class ApiConfigImpl : ApiConfig { 一个测试看起来像: @RunWith(SpringJUnit4ClassRunner::class) @ContextConfiguration(classes = arrayOf(ApplicationAssembly::class), loader = SpringApplicationContextLoader::class) @WebIntegrationTest open class CandidateProfileControllerTest { @Inject lateinit var profileRepo: CandidateProfileRepository //etc a few more deps used to setup test data @Test open fun getById() { val greg = […]

如何将Java分配expression式转换为Kotlin

在Java中的东西 int a = 1, b = 2, c = 1; if ((a = b) !=c){ System.out.print(true); } 现在应该把它转换成kotlin var a:Int? = 1 var b:Int? = 2 var c:Int? = 1 if ( (a = b) != c) print(true) 但这是不正确的。 这是我得到的错误: in ” (a=b)” Error:(99, 9) Kotlin: Assignments are not expressions, and only expressions are […]

用Kotlin和lambda返回接口实现

我有这个简单的界面: interface ValidationBehavior { fun onValidated() } 这个接口用于一个类的一个function: private enum class BehaviorEnum { IDLE, NAVIGATEBACK } private fun getBehavior(payloadBehavior: String) : ValidationBehavior { when(BehaviorEnum.valueOf(payloadBehavior)) { BehaviorEnum.IDLE -> return object: ValidationBehavior { override fun onValidated() { // do some stuff } } } } 我的问题是:是否有一种方法来简化与lambda返回语句? 我尝试一些这样的东西,但它不工作: return ValidationBehavior{ () -> //do some stuff }

从套接字响应中逐字读入Kotlin字符中的空字符

所以说我有一个从套接字连接返回的流。 流被返回终止’\ 0’,但在kotlin我似乎无法得到这个以相同的方式工作。 下面的代码是在Java中,我可能只是看起来很简单。 public final String readUpToNull(InputStream inputStream) throws IOException { StringBuilder builder = new StringBuilder(); char ch; while ((ch = (char) inputStream.read()) != ‘\0′) { builder.append(ch); } return builder.toString(); } 如果有人知道如何在与Kotlin中的流进行通信的同时进行此操作。 在这里的另一篇文章是覆盖阅读全文的文字。 套接字返回由’\ 0’分隔的更长的字符串。 所以问题是我需要能够加载第一个字符串,然后第二个字符串。 Example Server : hello\0 xml stuff all right here\0 Client: read hello Client: read xml stuff all right […]

如何让Glide使用Android Studio 3.0?

自升级到Android Studio 3.0以来,我无法识别“AppGlideModule”。 Android Studio无法识别导入 import com.bumptech.glide.module.AppGlideModule; 看这里 我已经尝试更新“编译”到“实施” 。 我也尝试清理和重建项目,以及使缓存/重新启动失效。 build.gradle(module:app) apply plugin: ‘com.android.application’ android { compileSdkVersion 26 defaultConfig { applicationId “com.example.test” minSdkVersion 15 targetSdkVersion 26 buildToolsVersion “26.0.2” versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { implementation fileTree(dir: ‘libs’, include: [‘*.jar’]) […]

在iOS项目中使用Java库

我正在开发一个项目,需要基于相对复杂的规则集进行业务逻辑计算。 卡路里将在以下平台上执行: Android应用 iOS应用 Java EE应用程序容器 业务逻辑不依赖于任何平台的具体细节,而是严格的“数字运算”。 为了避免Java和Objective C的双重实现,需要进行精细的测试等等,我想创建一个包含实现的Java库,并在iOS应用程序中使用它。 什么是最好的方法来做到这一点? 为Objective C做一个本地端口会更好吗? 反过来,最好是用Objective C编写库并在Android / Java上使用它?

Java的互操作性:如何在Kotlin中声明一个编译时数组常量?

我有这个Java注释声明,并希望在Kotlin中使用它 class CurlCommand { Parameter(names = “-groups”, description = “Comma-separated list of group names to be run”) var groups: Array? = null } 编译器报告TYPE_MISMATCH必需:kotlin.Array find:kotlin.String 我试过了 Parameter(names = Array(1, {i-> “-groups”}), description = “Comma-separated list of group names to be run”) var groups: Array? = null 并得到“错误:(20,23)Kotlin:一个注释参数必须是一个编译时常量” 我怎样才能满足Kotlin编译器? Java只是接受 @Parameter(names = “-groups”, description = “Comma-separated […]

异步工作,但得到未解决的参考等待

我有以下代码。 我无法理解为什么会发生这种情况。 我没有发现有关这个的现有答案。 我试图直接在tenny和twy分配的地方等待,但这也行不通。 我不认为依赖关系有问题,因为aysnc的作品。 我也发布了我的build.gradle文件。 import kotlinx.coroutines.experimental.async fun main(args: Array) { async{ val tenny = star_ten(1) val twy =star_two(10) println() println(twy.await()+tenny.await()) println() } } fun star_two(num:Int):Int{ return num * 2 } fun star_ten(num:Int):Int{ return num * 10 } 我的build.gradle是 group ‘org.nul.cool’ version ‘1.0-SNAPSHOT’ buildscript { ext.kotlin_version = ‘1.1.60’ repositories { mavenCentral() } dependencies { […]

Kotlin代表了一个未定义的价值

所以关于Kotlin一件大事就是强迫你不要在你的项目中实现Kotlin 。 什么是替换null想法然后,如果你必须创建一个新的对象Foo()然后填写它的属性(如填写表格) foo.name = “foo” , foo.age = 10 , 等等… 然后检查哪些字段没有被赋值并警告用户填写它。 我可以简单地使用? 对variablestypes,并检查是否为空,但这是摆脱Null Pointer Exception的整个想法 在Kotlin有没有一个不确定的领域有什么好的实现。