我有一个返回Map的方法.我最初会返回该方法生成的HashMap,但认为返回一个ImmutableMap会更好.不幸的是,以下语句拒绝在eclipse中工作:
HashMap<File, File> map = new HashMap<File, File>();
map.put(...);
.
.
.
return ImmutableMap.builder ().putAll (map).build ();
Run Code Online (Sandbox Code Playgroud)
它一直在说我正在回复一个不相容的陈述,a Map<Object, Object>.
我最初尝试使用:
return ImmutableMap<File, File>.builder ().putAll (map).build ();
Run Code Online (Sandbox Code Playgroud)
但这显然不起作用.我最好如何解决这个问题?我应该先将它存储在类似的东西中
ImmutableMap<File, File> m = ImmutableMap.builder ().putAll (map).build ();
Run Code Online (Sandbox Code Playgroud)
还是有更优雅的解决方案?
对于我们的编译器理论类,我们的任务是为我们自己设计的编程语言创建一个简单的解释器.我使用jflex和杯子作为我的发生器,但我有点卡在一个词法错误.另外,我建议使用jflex的状态功能吗?它感觉不对,因为看起来解析器更适合处理这个方面.你推荐使用其他工具来创建语言吗?我很抱歉,如果我不耐烦,但它应该在周二到期.
你实际上可以跳过这第一部分,因为它会让人感到困惑,但我会把它放在这里,因为我想知道是否有其他人有同感.我是CS本科生,已经使用Java 3年了,我仍然觉得很难理解如何将Main功能包含在我的设计中.将它自己放在一个类中是错误的,但将它插入另一个类文件也感觉不对.我认为后者是这样的,因为它不适合同类的其他人使它不相干.例如,我不能只在我的DocumentReader对象上粘贴一个main函数.它与对象无关.另一方面,我不能只创建一个只有一个main函数的Main类,因为在面向对象的编程中,你' 应该从物体角度思考,有效地创造一个微型世界.对于那个围绕单个物体的微型世界来说,它只是存在而只是存在.它不是故事中的叙述者和角色,因为它同时没有任何作用.我更喜欢C的主要功能,它与所有东西分开.它使故事的叙述与彼此相互作用的人物分开.
我想知道专业人员如何将main方法与其余代码混合使用.如何使其与其他设计相适应.而且,它们通常是长还是短?
我试图用我的两个ApplicationContext和我通话Service的Context访问外部目录.不幸的是,它一直在返回null,LogCat报告它无法创建外部目录.我确信我有WRITE_STORAGE_PERMISSION现在,但它仍然无效.我的设备正在运行API 10(2.3.3)vanilla android.有任何想法吗?
这是我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="droid.signboard" android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:name="SignboardApp">
<receiver android:name=".ApplicationStarter">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
<action android:name="droid.signboard.LAUNCHER_START"></action>
</intent-filter>
</receiver>
<activity android:label="@string/app_name"
android:screenOrientation="landscape" android:launchMode="singleTop"
android:name=".view.Signboard">
<intent-filter>
<action android:name="android.intent.action.MAIN"></action>
<category android:name="android.intent.category.LAUNCHER"></category>
</intent-filter>
</activity>
<service android:name=".controller.MasterControllerService">
<intent-filter>
<action
android:name="droid.signboard.LAUNCH_SERVICE_FROM_ACTIVITY"></action>
</intent-filter>
</service>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
这里是代码搞砸的地方:
private boolean canWriteEx () …Run Code Online (Sandbox Code Playgroud) 我想尝试telnet到一个无根的Droid.我已经INTERNET启用了权限,我Mac OS X通过WiFi 将设备连接到与我的盒子相同的网络上,并且我可以ping我打开的端口.
在最初的实验中,我让它在一个有根的测试设备上工作,但我让套接字处理程序运行在UI Thread而不是一个单独的线程上.既然我在一个单独的线程上有网络模块,我就无法ServerSocket.accept ()返回.它适用于谷歌版本的android(vanilla),但不适用于三星或索尼爱立信.
当我telnet到它时,我的尝试会超时,并且logcat不会打印出任何异常或错误.
以下是我的代码的Google代码回购链接:Google代码存储库
我ServerScoket.accept ()在一个单独的线程上运行,并在另一个线程上运行流处理器.我的设计评论(即我应该使用Handlers或AsyncTasks)非常受欢迎.现在,为了Toast通过telnet接收的消息,我使用Handler,通过a获取looper Context.
以下是我netstat -n在非工作设备上运行adb shell时得到的结果:
~$ adb shell netstat -n
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:7777 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:7203 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:47609 127.0.0.1:7777 ESTABLISHED
tcp 0 0 127.0.0.1:7777 127.0.0.1:47609 ESTABLISHED
tcp 0 0 127.0.0.1:47610 127.0.0.1:7777 ESTABLISHED …Run Code Online (Sandbox Code Playgroud) 我问这个是因为我发现XML在视觉上没有吸引力.我理解XML非常有名,非常有用,并且大多数(如果不是全部)程序员都接受它作为定义和构造数据的非常有用的语言; 然而,我真的没有发现盯着它,看着它,或者读它非常有吸引力.我只是一名学生,我很确定我迟早要处理它,但我只是想知道是否有替代XML.
据我所知,Android 应用程序是通过从 android 市场下载 apk 并让用户确认更新来更新的。我还认为,如果机器人没有扎根,应用程序需要用户确认才能推送更新。我想知道是否可以远程更新无根手机中的应用程序,而无需任何用户交互,该应用程序位于非市场服务器上。
现在,我只知道通过市场和 adb 安装应用程序。也许还有其他方法?
我只是好奇使用this,因为Android的示例代码和文档没有使用this关键字(我喜欢相信android工程师一般都很聪明,因此我用它们作为基础).我只是对Android工程师没有this太多使用的根本原因感到好奇.
我创建了一个新的存储库,test-backout并在其中添加了一个新文件file.然后我每次做4次提交,附加file使用的提交次数
echo [manually entered number] >> file
hg commit -m '[manually entered number]'
Run Code Online (Sandbox Code Playgroud)
实际上,文件有:
init
1
2
3
Run Code Online (Sandbox Code Playgroud)
根据hg书,如果我跑hg backout --merge 2,我应该:
init
1
3
Run Code Online (Sandbox Code Playgroud)
但相反,它无法合并并打开我的difftool(vimdiff),我得到3个选项:
init | init | init
1 | 1 |
2 | |
3 | |
Run Code Online (Sandbox Code Playgroud)
我最初尝试使用该--merge选项,然后再没有它.我现在的问题是,还有办法让我得到:
init
1
3
Run Code Online (Sandbox Code Playgroud)
我只是犯了错误或错过了什么,还是我坚持这些选择?
我只是好奇我是否必须在UI-Thread上调用它.根据文档,commit当有时间时,将在未来的UI线程上运行.如果是这种情况,我可以FragmentTransaction.commit()在另一个线程上运行吗?
我很好奇我应该将主函数放在Java Swing程序中.似乎如果它太短暂也创造了一个全新的类.
Android的编译器抱怨,谷歌番石榴V12的ImmutableSortedSet没有方法first(),last()等等,而ImmutableSortedSet没有实现SortedSet.我目前正在使用Android API 8.以下是一些示例代码:
/*
* I only have one set, 'mSet', but for the sake of this example
* I added an ImmutableSortedSet instance.
*/
private final SortedSet<Item> mSet;
private final ImmutableSortedSet<Item> mImmutableSet;
private MyObject(Collection <? extends Item> items) {
// Fails -- cannot convert from ImmutableSortedSet<Item> to SortedSet<Item>
mSet = ImmutableSortedSet.copyOf(items);
mImmutableSet = ImmutableSortedSet.copyOf(items);
}
private Item getFirstItem() {
// Fails -- no such method 'first()' in ImmutableSortedSet
return …Run Code Online (Sandbox Code Playgroud) 我正在研究一个涉及我使用HashSet我制作的课程的项目,我将其命名Test.我这样定义了HashSet如下:
HashSet<Test> t = new HashSet<Test>();
t.add(new Test("asdf", 1));
t.add(new Test("hello", 2));
t.add(new Test("hello", 3));
Run Code Online (Sandbox Code Playgroud)
我试过用
t.contains(new Test("asdf", 1));
Run Code Online (Sandbox Code Playgroud)
但它回来了false.但是,当我使用HashSet<Character>它似乎工作正常.我试图重写先前的equals声明,但它没有奏效.我试着equals独自离开,但我还是得到了false.我需要知道我做错了什么?
另外,我没有编辑哈希函数,我只更改了Test.equals(Object o).这是一个简单的项目,因为java文档声明它使用o.equals(this),我想我不会这样做.