在C#中,您可以使用属性使数据字段可公开访问(允许用户直接访问它),同时保留在这些直接访问的字段上执行数据验证的功能.Java有类似的东西吗?对于Instance,假设存在一个带有以下实现的C#类(见下文):
public class newInt{
public newInt(){...}
public int x{
get{ return this.x }
set{ this.x = isValid(value) }
}
}
private static int isValid(int value){...}
Run Code Online (Sandbox Code Playgroud)
类中的这个定义允许用户在从中检索值并为其赋值时"自然地"使用数据字段'x'.以下是它将如何在主要使用.
public class Test{
public static void main(String[] args){
newInt a = new newInt();
a.x = 50;
int b = a.x;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是...... java也可以这样做吗?如果是这样,它叫什么?
我有一个使用git进行同步的桌面应用程序.我还有一个与桌面相同的android应用程序,但我不知道如何在其上执行同步部分.我还没有在android上找到任何git的实现.我找到了一个jgit,但它的记录不清楚,我甚至无法做到这一点.
我正在考虑从我的Android应用程序到我的git服务器的远程命令,但这对我来说真是一个挑逗.你能告诉我是否存在可以在android上使用的任何其他git实现?如果你有任何想法如何解决,请告诉我.
我是一个Clojure新手.我想获得两份卡套装的副本.我能想到的非DRY方式是
(def suits [:clubs :diamonds :hearts :spades])
(def two-times (concat suits suits))
Run Code Online (Sandbox Code Playgroud)
必须有更多功能的方式(即使它需要更多的字符:-)).如果我想要N次怎么办?有什么建议?
我试过的所有事情,比如
(replicate 2 suits)
Run Code Online (Sandbox Code Playgroud)
导致两个单独的向量:
([:clubs :diamonds :hearts :spades] [:clubs :diamonds :hearts :spades])
Run Code Online (Sandbox Code Playgroud)
如何"压扁"结构?
我有一个在QT开发的c ++项目.我正在运行的问题是我希望有一个基类,我的所有属性类都继承,以便我可以将它们全部存储在一起.现在我有:
class AbstractProperty
{
public:
AbstractProperty(QString propertyName);
virtual QString toString() const = 0;
virtual QString getName() = 0;
virtual void fromString(QString str) = 0;
virtual int toInteger() = 0;
virtual bool operator==(const AbstractProperty &rightHand) = 0;
virtual bool operator!=(const AbstractProperty &rightHand) = 0;
virtual bool operator<(const AbstractProperty &rightHand) = 0;
virtual bool operator>(const AbstractProperty &rightHand) = 0;
virtual bool operator>=(const AbstractProperty &rightHand) = 0;
virtual bool operator<=(const AbstractProperty &rightHand) = 0;
protected:
QString name;
};
Run Code Online (Sandbox Code Playgroud)
然后我实现了PropertyFloat和PropertyString等类,并基于假设只有字符串与字符串进行比较等来为比较器运算符提供实现.但是问题是,如果我这样做,就不会抛出编译时错误
if(propertyfloat a < …Run Code Online (Sandbox Code Playgroud) 我试着通过阅读http://java.sun.com/javaee/6/docs/tutorial/doc/gexaf.html来熟悉Java EE 6 .我对JSF的使用有点困惑.
通常,我开发Web App的方式是,Servlet就像一个控制器,JSP就像一个MVC模型中的View.那么JSF是否试图取代这种结构?以下是上述教程的引用:
Servlet最适合面向服务的App和面向表示的App的控制功能,如调度请求
JSF和Facelet更适合生成像XHTML这样的标记,并且通常用于面向表示的App
不确定我是否理解上述引用,他们没有解释什么是面向服务与面向表达.
JavaServer Faces应用程序可以将HTTP请求映射到特定于组件的事件处理,并将组件作为服务器上的有状态对象进行管理.
任何知识渊博的Java开发人员可以给我一个关于JSF,JSP和Servlet的快速概述吗?我是否将它们全部集成在一起,还是在应用程序中将它们分开使用?如果是这样,那么与Servlet和JSP相比,什么样的应用程序使用JSF
JavaServer Faces应用程序可以将HTTP请求映射到特定于组件的事件处理,并将组件作为服务器上的有状态对象进行管理.
听起来像servlet可以做什么,但不确定manage components as stateful objects on the server.甚至不确定这是什么意思?提前致谢.
我不太确定我是如何陷入这种混乱的,但由于某种原因,我无法使用替代方案更改当前版本的Java.我可以运行替代方案--config java并输入我的选择但是当我回显java或javac的版本号时,它每次吐出1.5(尽管替代显示当前版本是1.6).顺便说一句,我正在使用的服务器正在运行RHEL5.
我已经验证了替代品中使用的路径指向正确的目录.这是我的会话的一些输出:
[brilewis @ myserver] $ sudo/usr/sbin/update-alternatives --config java
有3个程序提供'java'.
选择命令
**1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
+ 2 /usr/java/jdk1.5.0_10/bin/java
3 /usr/java/jdk1.6.0_16/bin/java输入以保持当前选择[+]或类型选择编号:3
[brilewis @ myserver] $ java -version
java版"1.5.0_10"Java(TM)2运行时环境,标准版(版本1.5.0_10-b03)Java HotSpot(TM)服务器VM(版本1.5.0_10-b03,混合模式)
[brilewis @ myserver] $ sudo/usr/sbin/update-alternatives --config java
有3个程序提供'java'.
选择命令
**1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
2 /usr/java/jdk1.5.0_10/bin/java
+ 3 /usr/java/jdk1.6.0_16/bin/java输入以保留当前选择[+]或类型选择号:
更新:以下是输出echo $PATH:
/usr/java/jdk1.5.0_10/bin:/usr/local/apache-ant-1.7.1/bin:/usr/local/apache-tomcat-6.0.24:/usr/kerberos/bin:/usr/ local/bin目录:/ bin中:在/ usr/bin中:在/ usr/NX/bin中:/家庭/ brilewis /箱
更新(4/26/10):我遵循了Bert的建议,并从/ etc/profile中的PATH环境var中删除了JAVA_HOME.执行此操作后,我能够使用替代方法来更改Java的版本.唯一的问题是,当我尝试运行时javac,我得到"-bash:javac:command not found".当版本设置为1.5时,不会发生这种情况.
我有点挣扎.
宣布:
BYTE *pImage = NULL;
Run Code Online (Sandbox Code Playgroud)
用于通话:
m_pMyInterface->GetImage(i, &imageSize, &pImage);
Run Code Online (Sandbox Code Playgroud)
Visual C++ 2003编译器错误:
错误C2664:"CJrvdInterface ::的getImage":无法从"BYTE**__ W64"转换参数3"BYTE**"的引用不是为"const的"不能被结合到非左值
调用的方法定义为:
void CMyInterface::GetImage(const int &a_iTileId, ULONG *a_pulImageSize,
BYTE** &a_ppbImage)
Run Code Online (Sandbox Code Playgroud)
任何帮助非常感谢,伯特
因此,我正在寻求实现我编写的插件的能力,以便从具有触控功能的互联网设备(如iPhone,iPad或Android)中读取触摸"刷卡".
那里有什么吗?我不是在寻找像jQtouch一样完整的东西,尽管正在考虑逆向工程我需要的代码.
有关最佳方法的任何建议吗?一段代码已经可用?
附录:事后我意识到解决方案不会严格地说是jQuery,因为我很确定没有任何内置方法来处理这个问题.我希望标准的Javascript能够在答案中找到答案.
场景我有一个1000万行表.我将它划分为10个分区,每个分区产生100万行,但我没有做任何事情(比如将分区移动到不同的文件组或主轴)
我会看到性能提升吗?这实际上就像创建10个较小的表一样吗?如果我有执行密钥查找或扫描的查询,性能是否会增加,就好像它们是针对更小的表操作一样?
我试图理解分区与仅具有良好索引的表有何不同,以及它可用于提高性能的位置.
更好的方案是将旧数据(使用分区切换)从主表移动到只读存档表吗?
是否有一个包含100万行分区的表和一个900万行分区(性能明智)将900万行移动到另一个表并在原始表中只留下100万行?
我有一个psql脚本,如下所示:
-- first set of statements
begin
sql statement;
sql statement;
sql statement;
exception
when others then
rollback
write some output
(here I want to exit the entire script and not continue on to the next set of statements)
end
/
-- another set of statements
begin
sql statement;
sql statement;
sql statement;
exception
when others then
rollback
write some output
(here I want to exit the entire script and not continue)
end
/
... and so on
Run Code Online (Sandbox Code Playgroud)
是否可以退出脚本并停止处理脚本的其余部分?
java ×3
c++ ×2
android ×1
c# ×1
clojure ×1
const ×1
git ×1
ipad ×1
iphone ×1
java-ee ×1
javascript ×1
jquery ×1
jsf ×1
jsp ×1
oracle ×1
partitioning ×1
performance ×1
plsql ×1
properties ×1
qt ×1
rhel5 ×1
sequences ×1
servlets ×1
sql-server ×1