我有 CharSequence source, int start, int end
我想在开始和结束之间从源中删除所有"控制字符",并将其作为新的CharSequence返回
通过"控制字符"我的意思是像Tab和Return,换行等等不可接受的字符......基本上所有的都是ASCII <32(空格)......但我不知道如何在这个"现代时代"做到这一点"
什么是char?它是unicode吗?如何删除这些"控制字符"?
我的日期可能有两种格式:
2013-07-03T14:30:38Z
2013-07-03T14:30:38.000000Z
Run Code Online (Sandbox Code Playgroud)
.00000如果它存在的话我想砍掉它
我已经走到这一步了,删除了“.”之后的所有内容。time.replaceFirst( "^(.*?)\\b\\..*$", "$1");
结果:2013-07-03T14:30:38
问题是,我仍然需要 ' Z' ..我怎样才能保留Z?
所以我不完全确定是否总是有 6 个 0(如果字符串包含纳秒)或者是否可以有可变数量的 0...
我正在使用 java,但不想将其标记为 java,因为它基本上只是纯正则表达式
如果我在字符串中有一些文字,如:
"ABC = 123,DEF = 456,GHI = 789"
如何HashMap<String,Int>在Kotlin中以最简单,最短的代码量为它创建一个填充对象?
如果我保存一个没有任何路径名的文件.. 例如“abc.txt”......它会保存在设备上的什么位置?
如果要尝试查找我保存的文件,我应该在哪里查看模拟器文件系统?
如果我使用 TForm.CreateNew(Application) 动态创建一个 TForm 来制作一个自由浮动的窗口,我是否必须跟踪这些对象并在应用程序关闭时释放它们?
或者德尔福会在应用程序关闭时自动释放所有表单?
另外,如果我有一个自由浮动的动态创建的表单并且用户点击关闭按钮会发生什么?我需要在某处调用一些代码来释放它们吗?
如果是这样,如何?我想我不能把它放在任何表单的事件中。
奇怪的是,我的Kotlin代码之前编译得很好,当它在java类中看起来像这样Allocator:
public void setAllocMethod(@NotNull AllocMethod allocMethod) {
this.allocMethod = allocMethod;
}
Run Code Online (Sandbox Code Playgroud)
但是当我将java类的setter改为:
public void setAllocMethod(@Nullable AllocMethod allocMethod) {
this.allocMethod= allocMethod;
}
Run Code Online (Sandbox Code Playgroud)
然后当我编译项目时,我在调用java对象的kt文件中得到了这个Kotlin错误:
Val无法重新分配
allocator.allocMethod = DefaultAllocMethod() // kotlin code
这里也是java getter:
public @NotNull AllocMethod getAllocMethod() {
if (allocMethod == null) allocMethod = DefaultAllocMethod.newDefault();
return allocMethod;
}
Run Code Online (Sandbox Code Playgroud)
DefaultAllocMethod 是一个java的子类 AllocMethod
allocator是类型Allocator,它是一个具有上述getter和setter的java类.
任何人都可以解释发生了什么?谢谢
我怎样才能摆脱这些as String演员?
我想要做的是改变fun定义,但我不知道该怎么做......包含String在那里
parametersOf("appKey" to "asdas3334", "token" to "433432")
/**
* Returns a new [Parameters] with the specified contents, given as a list of pairs
* where the first component is the key and the second is the value.
*/
fun <K, V> parametersOf(vararg pairs: Pair<K, V>): Parameters {
val p = Parameters(pairs.size)
for ((key, value) in pairs)
p.put(key as String, value as String)
return p
}
Run Code Online (Sandbox Code Playgroud) 当我选择抑制一个语句时,为什么它有时会插入一个@SuppressWarnings,有时会插入一个//noinspection?
我正在谈论不同的语句,我假设在同一个语句上它将始终使用相同的变体。我特意选择抑制某个语句(不是方法、类或其他任何内容)
有什么不同?
我知道如何获得LocalDateTime列表的最小值归功于:https://stackoverflow.com/a/20996009/270143
例如 LocalDateTime minLdt = list.stream().map(u -> u.getMyLocalDateTime()).min(LocalDateTime::compareTo).get();
我的问题虽然有点不同......
LocalDateTime的不是nullnull如果他们都是null我将如何以简洁的方式做到这一点?
我在这做错了什么?
fun main(args: Array<String> = arrayOf("abc")) {
val a = args[0]
}
Run Code Online (Sandbox Code Playgroud)
编译好但是:
线程"main"中的异常java.lang.ArrayIndexOutOfBoundsException:0
我想让它成为一个参数可选,如果没有指定则提供默认值