小编T.J*_*der的帖子

如何在 Kotlin 中创建对象列表?

我在 Java 之后开始使用 Kotlin。

我想写一个函数来返回 Single<List<LocationData>>

override fun getDestinations(): Single<List<LocationData>> {
  //return ???
}
Run Code Online (Sandbox Code Playgroud)

我的LocationData班级:

@Parcelize
data class LocationData(val latitude: Double, val longitude: Double) : Parcelable
Run Code Online (Sandbox Code Playgroud)

如何在 Kotlin 中创建List静态LocationData对象?

在 Java 中,我会这样做:

override fun getDestinations(): Single<List<LocationData>> {
  //return ???
}
Run Code Online (Sandbox Code Playgroud)

kotlin

-2
推荐指数
2
解决办法
7045
查看次数

即使没有明显错误,setTimout也没有延迟

function abc() {
    console.log("ok")
}

setTimeout(abc, 10000000000000000000000000000000)
Run Code Online (Sandbox Code Playgroud)

当我运行这段代码时,它应该将 ok 的打印延迟 10000000000000000000000000000000ms,但它会立即打印出来。

我该如何解决?

javascript settimeout

-2
推荐指数
1
解决办法
61
查看次数

为什么我的`Runnable`没有`start`方法?

为什么我必须Thread在内部类中扩展而不是实现Runnable 以下代码有效: -

class Outer{

 Inner innerObj;

 Outer(){
  innerObj = new Inner();
 }

 public void begin(){

  innerObj.start();
 }

 class Inner extends Thread{

  Inner(){
   System.out.println("Thread initialized!");
  }

  public void run(){

    System.out.println("Thread running!");

  }  
 }
}

class Driver{

 public static void main(String[] args){

  Outer o1 = new Outer();
  o1.begin();

 }

}
Run Code Online (Sandbox Code Playgroud)

但是使用a Runnable会导致编译错误: -

class Outer{

 Inner innerObj;

 Outer(){
  innerObj = new Inner();
 }

 public void begin(){

  innerObj.start();
 }

 class Inner implements Runnable{

  Inner(){
   System.out.println("Thread initialized!");
  }

  public …
Run Code Online (Sandbox Code Playgroud)

java inheritance multithreading interface inner-classes

-3
推荐指数
1
解决办法
2363
查看次数

Lodash中_.map和_.forEach的性能差异是什么?

在lodash中滚动_.map和_.forEach列表的最佳方法是什么?我不需要返回值,但我只在循环中做一些事情.

在性能方面,这两个功能有什么区别?

a = []
b = []
list = response._source.carico_scarico
if angular.isDefined(list)
  _.forEach(list, (cs) ->
    if cs.qta >= 0 then a.push cs
    if cs.qta < 0 then b.push cs
  )
Run Code Online (Sandbox Code Playgroud)

要么

a = []
b = []
list = response._source.carico_scarico
if angular.isDefined(list)
  _.map(list, (cs) ->
    if cs.qta >= 0 then a.push cs
    if cs.qta < 0 then b.push cs
  )
Run Code Online (Sandbox Code Playgroud)

javascript coffeescript angularjs lodash

-3
推荐指数
1
解决办法
1533
查看次数

为什么setTimeout会立即触发?

我在W3学校找到了这个 setTimeout()方法示例,并发现了一些我无法解释的内容.例子是:

myVar = setTimeout(alertFunc, 3000);
Run Code Online (Sandbox Code Playgroud)

......工作正常.但是当我改变它

myVar = setTimeout(alertFunc(), 3000);
Run Code Online (Sandbox Code Playgroud)

......警报立即触发.为什么?不应该是一样的吗?

javascript

-5
推荐指数
1
解决办法
134
查看次数

需要帮助来了解这种情况

function doSomething(a) {
    b = a + doSomethingElse(a * 2);
    console.log(b * 3);
}

function doSomethingElse(a) {
    return a - 1;
}

var b;

doSomething(2); //15
Run Code Online (Sandbox Code Playgroud)

我不明白为什么结果是15; 有人可以向我解释在这种情况下我该怎么想?

javascript function

-6
推荐指数
1
解决办法
68
查看次数

为什么不能重新定义财产?

当我运行以下代码时,出现错误:

类型错误:无法重新定义属性:isBoolean

为什么我不能重新定义这些属性?

function isBoolean() {
  var value = arguments[0];
  if (!arguments.length) {return;}
  if (value===undefined || value===null) { return false; }
  if (typeof(value) === "boolean") {
    return true;
  } else {
    return false;
  }
}

function isString() {
  var value = arguments[0];
  if (!arguments.length) {return;}
  if (value===undefined || value===null) { return false; }
  if (typeof(value) === "string") {
    return true;
  } else {
    return false;
  }
}

function isNumber() {
  var value = arguments[0];
  if (!arguments.length) {return;}
  if (onoff) { …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-5 ecmascript-6

-7
推荐指数
1
解决办法
2万
查看次数

html标签限制

<h1>test</h1>工作完美,但是当我尝试< h1>test< /h1>它不起作用时,我不能在小于<符号旁边放置一个字符,无论如何执行html代码只有一个小于符号旁边的空格?

例如:< script>,< h1>,< b>,< p>?我真的需要能够做到这一点.

html javascript regex entities

-7
推荐指数
1
解决办法
44
查看次数

将一个数字与数组中的其他数字相加

我得到了一组数字,[5,1,3, etc, etc]

我想将5+1结果求和并保存在名为 的新数组中results,然后求和5+3并保存结果,然后求和5+etc直到达到最后一个数字。

之后我想总结1+3并保存结果。

然后求和1+etc到最后。

然后求和3+etc,直到到达最后一个,依此类推......

但我不想将一个数字与其自身相加。

数组中数字的顺序results并不重要,重要的是返回的数组中存在预期的数字。

我想在不使用嵌套循环的情况下实现这一目标,以保持线性时间复杂度。

例子:

  • 对于输入[5,1,3],我期望[6, 8, 4](以任何顺序),因为5+1=65+3=81+3=4
  • [5,1,3,2]对于我期望的输入[6, 8, 7, 4, 3, 5](以任何顺序),因为5+1=65+3=85+2=71+3=41+2=33+2=5

我试过这个:

function sumTwo(arr) {
  
  const results = []

  for(let i = 0; i < arr.length - …
Run Code Online (Sandbox Code Playgroud)

javascript arrays algorithm

-8
推荐指数
1
解决办法
98
查看次数