小编del*_*ber的帖子

为什么以下按位运算会返回意外结果?

3位最多可容纳7(4 + 2 + 1).我正在尝试使用按位运算来计算它.

3 is 0b011 
~3 is 0b100
Run Code Online (Sandbox Code Playgroud)

做一个按位或我希望0b111(即7).相反,我得到了

int result = (~3) | 3;
printf("%i\n", result);
Run Code Online (Sandbox Code Playgroud)

-1

我究竟做错了什么?

c

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

当我拿指针的地址时,C会发生什么?

我有一个示例程序如下:

int testPointer(int * intArray, int * ptr) {
  printf("%i\n", intArray);
  printf("%i\n", ptr);
  printf("%lu\n", &intArray);
  printf("%lu\n", &ptr);
  return 0;
}

int main() {
  int result = testPointer((int *) 0x1, (int *) 0x2);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

典型的输出是:

1
2
3212962484
3212962480
Run Code Online (Sandbox Code Playgroud)

前两行总是一样的,我理解它们是如何产生的.第三行和第四行在每次运行时都有所不同,但第四行的值总是比第三行的值小四.我如何破译这些价值观?它们代表什么,为什么最后一行总是比第三行少四个?

c

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

如何比较Java中的原始时间到现在?

可能重复:
如何比较Java中的原始时间?

例如,假设我有

String endTime = "16:30:45";
Run Code Online (Sandbox Code Playgroud)

我如何确定现在是否在此之前?我试过了

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss")
Date date = sdf.parse(endTime);
Run Code Online (Sandbox Code Playgroud)

但是日期是1970年,所以比较失败了

java

1
推荐指数
1
解决办法
167
查看次数

在java中使用PreparedStatement的正确方法是什么?

特别是如果我有三个查询,我应该这样做

PreparedStatement singleQuery ...
Run Code Online (Sandbox Code Playgroud)

并"分享"一个对象.或者我应该这样做

PreparedStatement query1 ...
PreparedStatement query2 ...
PreparedStatement query3 ...
Run Code Online (Sandbox Code Playgroud)

java sql jdbc prepared-statement

1
推荐指数
1
解决办法
789
查看次数

如何使以下Scala代码更具功能性和更少程序性?

我试图围绕功能编程概念.考虑从列表中删除空(零长度)字符串的问题

以下是Haskell中的一个纯函数实现,即使您对该语言一无所知也是如此

removeEmpty            :: [String] -> [String]
removeEmpty []          = []
removeEmpty ([] :strs)  = removeEmpty strs
removeEmpty (str:strs)  = str : removeEmpty strs
Run Code Online (Sandbox Code Playgroud)

现在考虑我在Scala中的实现

  def removeEmpty(dirty: List[String]): List[String] = {
    if (Nil == dirty)
      dirty
    else {
      if (dirty(0).length() == 0)
        removeEmpty(dirty.tail)
      else
        dirty.head::removeEmpty(dirty.tail)
    }
  }
Run Code Online (Sandbox Code Playgroud)

它做了同样的事情,但对它有一个非常程序化的感觉.是否有更多功能的方法在Scala中编写相同的方法?

scala

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

如何将以下Java构造函数代码转换为Scala?

我仍然试图绕过Scala构造函数

public class MyClass {
    private String myString = null;

    public MyClass() {
        myString = "hello";
    }
} 
Run Code Online (Sandbox Code Playgroud)

scala

1
推荐指数
1
解决办法
157
查看次数

为什么我不能以下列方式在Scala中分配变量?

我已经删除了该方法,因此它没有逻辑意义,但我只是试图解决编译错误

def getVWAP(date: Date, maxEvents: Int): Double = {

    var startDateTime = null;

    if (maxEvents > 0) {
        startDateTime = date; // error
    }

    0.0
}
Run Code Online (Sandbox Code Playgroud)

scala

1
推荐指数
1
解决办法
948
查看次数

在Scala中,有没有办法将特征"传递"到类中的变量?

假设我有一个可以检索市场货币的特质纽约证券交易所

trait NYSE extends Market {
  override def getCurrency = "USD"
}
Run Code Online (Sandbox Code Playgroud)

现在假设我有一个Trader类需要知道货币.简单:

val trader = new Trader with NYSE
Run Code Online (Sandbox Code Playgroud)

但是假设在交易者中我有类似的东西

val Database = new Database
Run Code Online (Sandbox Code Playgroud)

但我真的想传递市场信息

val trader = new Trader with NYSE
Run Code Online (Sandbox Code Playgroud)

自动初始化内部变量,如下所示

val Database = new Database with NYSE
Run Code Online (Sandbox Code Playgroud)

同样

val trader = new Trader with LSE
Run Code Online (Sandbox Code Playgroud)

自动做

val Database = new Database with LSE
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?

scala

1
推荐指数
1
解决办法
1183
查看次数

如何正确使用Scala Hashmaps和Tuples?

我的代码如下

import scala.collection.mutable.HashMap
type CrossingInterval = (Date, Date)
val crossingMap = new HashMap[String, CrossingInterval]
val crossingData: String = ...
Run Code Online (Sandbox Code Playgroud)

首先为什么以下行编译?

val time = crossingMap.getOrElse(crossingData, -1)
Run Code Online (Sandbox Code Playgroud)

我原以为-1会是一个无效的值

其次,我如何进行如下基本检查

if (value exists in map) {
}
else {
}
Run Code Online (Sandbox Code Playgroud)

在Java中,我只会检查空值.我不确定在Scala中使用它的正确方法

scala

1
推荐指数
1
解决办法
1230
查看次数

在Scala中,除了继承之外还有一种技术可以知道何时调用基类方法?

例如,假设我有以下基类,我无法修改源代码

class Base {
    def someMethod = ...
}
Run Code Online (Sandbox Code Playgroud)

如果我定义一个子类

class Sub extends Base {
    override def someMethod = ...
}
Run Code Online (Sandbox Code Playgroud)

当我做

val sub = new Sub

然后我会在调用someMethod时自动"知道"因为触发了sub.someMethod.但是我想避免继承子类,所以我想知道是否有一些我可以做的技术

class NotSubclass {
    val Base = new Base
}
Run Code Online (Sandbox Code Playgroud)

或类似的

并以某种方式从Base"附加"someMethod,以便NotSubclass在调用someMethod时"知道".为了澄清someMethod被外部调用,我从不在我自己的代码中调用.

java jvm scala

1
推荐指数
1
解决办法
142
查看次数

标签 统计

scala ×6

java ×3

c ×2

jdbc ×1

jvm ×1

prepared-statement ×1

sql ×1